php如何实现批量替换修改目录下所有文件
php如何实现批量替换修改目录下所有文件
- 满意回答
1.背景
某目录下很多文档,要批量替换某些字符串。
2.方案
先遍历所有文档,确定要修改文档的后缀,再替换字符串,下例也可用正则替换。
$path='/var/www/golang';
$search='test string';
$replace='';
$num=0;
if($handle = opendir($path)){
while(false !== $file=readdir($handle)){
if($file !='.' && $file !='..'){
if(is_dir($path.'/'.$file)){
file_list($path.'/'.$file);
}else{
if(preg_match ("/.html$/",$file)){//file type
file_content_replace($path.'/'.$file, $search, $replace);
echo ++$num.'.'.$file;
}else
echo $file.'-no file type-';
}//is_dir
}//file
}//withle
closedir($handle);
}//handle
function file_content_replace($filename, $search, $replace){
$string = file_get_contents($filename);
$new_string = str_replace($search, $replace, $string,$i);
//echo 'result:'.$i;
if($string !=$new_string) file_put_contents($filename, $new_string);
}//file-
3.备注
因为要写入内容,所以要确定文件、文件夹的权限,str_replace替换功能较弱,若是大段落替换,效果不佳。
提问者对回答的评价:
谢谢您的解答!支持(0) 反对(0)
- 如何在Word中实现中文宋体,英文、数字Times New Roman (1个回答)
- python2报 ImportError: No module named google.proto (1个回答)
- FAILED to authorize user with PAM (Module is unkno (1个回答)
- 使用git clone时timeout超时,导致克隆失败 (1个回答)
- 联想的X-Rite Color Assistant软件有什么用,可以卸载吗? (1个回答)
- 抖音可以微信支付吗,抖音为什么不能微信支付 (1个回答)
- Excel进行排序提示所有合并单元格的大小必须相同怎么弄 (1个回答)
- 同一文件夹里,word文件有些显示缩略图,有些又不显示。 (1个回答)
- 抖音怎么发语音评论 抖音怎么用语音评论 (1个回答)
- QQ游戏军旗等级分布
- 黑神话悟空最低需要多大的 ...
- 华为pura70 pro+处理器相 ...
- 华为pura70 pro有什么缺点 ...
- 华为Pura 70 Pro+有什么缺 ...
- fastorange是什么软件,可 ...
- ahsprotector是什么软件? ...
- 为什么华为手机微信支付不 ...
- 为什么我的华为钱包不支持 ...
- 华为pura70系列pro以及pr ...
- 接到FaceTime视频电话自称 ...
- 联想笔记本升级win11后, ...
- 联想账号忘了,手机号也换 ...
- 如何查询bios版本
- win10系统右下角天气怎么 ...
- elf.exe是什么文件?
- word怎么中文宋体,英文、 ...