博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php写的查找和替换一个文件夹下所有的文件内容
阅读量:6588 次
发布时间:2019-06-24

本文共 1996 字,大约阅读时间需要 6 分钟。

早上有个站需要全站查找替换,结果文件太多,DW替换不完,于是用PHP写了一个

1、获取目录下的所有文件

/****************************	* 获取目录下的所有文件	* [$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		);	}

2、循环对每个文件进行查找和替换

/*	* 替换成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;		}		$this->success('内页替换完成,下面替换首页',U('Json/ok_index'));		}		/*	* 替换成APP中可用的路径,在首页中	*/	public function ok_index(){		//查找字符		$yuanlai = array(			'"/resources/',			'"/uploads/',			'"/web/',			'href="/"',		);		//替换字符		$tihuan = array(			'"resources/',			'"uploads/',			'"web/',			'href="index.html"',		);						$file = WEBROOT.'/app/index.html';		$txt = file_get_contents($file);		$txt =  str_replace($yuanlai,$tihuan,$txt);		file_put_contents($file,$txt);		echo "全部替换成功";			}

转载于:https://my.oschina.net/tongjh/blog/192238

你可能感兴趣的文章
saltstack 快速入门
查看>>
图像处理之理解卷积
查看>>
五种基于RGB色彩空间统计的皮肤检测算法
查看>>
RAID0、RAID1、RAID0+1、RAID5原理介绍
查看>>
Win8 Metro App里玩XNA:ContentPipeline内容管线问题
查看>>
java学习 - 数组-选择排序
查看>>
Centos Nginx+PHP Install 史上最完美
查看>>
PC基础概念
查看>>
一些作业脚本
查看>>
如何设置自动关机
查看>>
nginx常用配置
查看>>
SCCM 2012 简体中文正式版 部署文档 01 环境说明
查看>>
我的友情链接
查看>>
oracle asm 错误集
查看>>
然后再带动更多的C++人逼起来
查看>>
Linux运维 第三阶段 (一) 网络配置及openssl加密
查看>>
如何启用或禁用错过的呼叫skype for business通知
查看>>
tyvj——P3524 最大半连通子图
查看>>
Linux常用命令汇总--cat
查看>>
java web 开发分层
查看>>