本文实例讲述了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(
""//skin/v7red/resources/",
""/uploads/",
""/web/",
"href="/"",
"/web",
"typedir+"/"+v.aid+"",
"v.litpic",
);
//替换字符
$tihuan = array(
""..//skin/v7red/resources/",
""../uploads/",
""",
"href="../index.html"",
"",
"v.aid+"",
"".."+v.litpic"
);
//查找的文件夹
$dir = WEBROOT."/app/web";
//获取文件
$dirs = $this->deepScanDir($dir);
//文件字符串替换
foreach($dirs["file"] as $file){
$file = "G:hospitalhospitaladminappwebyiyuanzhuanjia.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程序设计有所帮助。