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)
- 使用git clone时timeout超时,导致克隆失败 (1个回答)
- 联想的X-Rite Color Assistant软件有什么用,可以卸载吗? (1个回答)
- 抖音可以微信支付吗,抖音为什么不能微信支付 (1个回答)
- Excel进行排序提示所有合并单元格的大小必须相同怎么弄 (1个回答)
- 同一文件夹里,word文件有些显示缩略图,有些又不显示。 (1个回答)
- 抖音怎么发语音评论 抖音怎么用语音评论 (1个回答)
- 此文件中的某些文本格式已经更改,已经超出最多允许的字体数 (1个回答)
- excel如何计算天数 (1个回答)
- word怎么插入选中方框符号 (1个回答)
- word怎么中文宋体,英文、 ...
- 网易严选型号CL010便携式 ...
- 360路由器微信家庭上网报 ...
- i5 14600KF和13600KF怎么 ...
- RTX4060Ti 8G和16G怎么选 ...
- 如何在Word中实现中文宋体 ...
- python2报 ImportError: ...
- FAILED to authorize use ...
- 联想笔记本电脑如何强制重 ...
- 为什么iphone的mac地址和 ...
- 路由器显示ESP_0BE240这个 ...
- espressif这个是什么设备
- 平板键盘无法弹出,连解屏 ...
- i5 14400F比13400F性能提 ...
- intel酷睿i5-13400F相当于 ...
- intel酷睿i5-12400相当于 ...
- AMD锐龙5 5600G相当于英特 ...