本文实例讲述了php遍历替换目录下文件指定内容的方法。分享给大家供大家参考,具体如下:
在php中目录访问需要遍历了然后文件需要一个个打开进行访问操作了,下面我们来看一段php 替换目录下文件指定内容,具体如下:
/****************************
* 获取目录下的所有文件
* [$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相关内容感兴趣的读者可查看本站专题:《php目录操作技巧汇总》、《php文件操作总结》、《php数组(array)操作技巧大全》、《php基本语法入门教程》、《php运算与运算符用法总结》、《php面向对象程序设计入门教程》、《php网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家php程序设计有所帮助。
评论列表:
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论