本文实例讲述了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程序设计有所帮助。