本文实例讲述了php遍历替换目录下文件指定内容的方法。分享给大家供大家参考,具体如下:
在php中目录访问需要遍历了然后文件需要一个个打开进行访问操作了,下面我们来看一段php 替换目录下文件指定内容,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
/**************************** * 获取目录下的所有文件 * [$dir] 文件夹路径 ****************************/ function deepScanDir( $dir ) { $fileArr = array (); $dirArr = array (); $dir = rtrim( $dir , '//' ); if ( is_dir ( $dir )) { $dirHandle = opendir( $dir ); while (false !== ( $fileName = readdir( $dirHandle ))) { $subFile = $dir . DIRECTORY_SEPARATOR . $fileName ; if ( is_file ( $subFile )) { $fileArr [] = $subFile ; } elseif ( is_dir ( $subFile ) && str_replace ( '.' , '' , $fileName ) != '' ) { $dirArr [] = $subFile ; $arr = $this ->deepScanDir( $subFile ); $dirArr = array_merge ( $dirArr , $arr [ 'dir' ]); $fileArr = array_merge ( $fileArr , $arr [ 'file' ]); } } closedir ( $dirHandle ); } return array ( 'dir' => $dirArr , 'file' => $fileArr ); } /* * 替换成APP中可用的路径,在web文件夹中 */ public function ok_web(){ //查找字符 $yuanlai = array ( '"/resources/' , '"/uploads/' , '"/web/' , 'href="/"' , '/web' , 'typedir+\'/\'+v.aid+"' , 'v.litpic' , ); //替换字符 $tihuan = array ( '"../resources/' , '"../uploads/' , '"' , 'href="../index.html"' , '' , 'v.aid+"' , '".."+v.litpic' ); //查找的文件夹 $dir = WEBROOT. '/app/web' ; //获取文件 $dirs = $this ->deepScanDir( $dir ); //文件字符串替换 foreach ( $dirs [ 'file' ] as $file ){ $file = 'G:\hospital\hospital\admin\app\web\yiyuanzhuanjia.html' ; $txt = file_get_contents ( $file ); $txt = str_replace ( $yuanlai , $tihuan , $txt ); file_put_contents ( $file , $txt ); echo $txt ; exit ; } } |
希望本文所述对大家PHP程序设计有所帮助。