我正在尝试更新目录中所有html文件中公司地址的一部分。我试图弄清楚将新行重新插入文件的最佳方法。以下是我到目前为止所得到的。
<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo){
foreach(glob($fileinfo.'/*.*') as $file) {
if(is_writable($file)){
$file_parts = pathinfo($file);
switch($file_parts['extension'])
{
case "html":
$lines = file($file);
foreach ($lines as $line_num => $line) {
$newline = str_replace("Suite 425", "Suite 800", $line);
echo $newline;
}
break;
}
}
}
}
?>
答案 0 :(得分:1)
尝试这样,但它没有经过测试,在您尝试所有文件之前进行测试,或者保持安全备份:)
<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo){
foreach(glob($fileinfo.'/*.*') as $file) {
if(is_writable($file)){
$file_parts = pathinfo($file);
switch($file_parts['extension'])
{
case "html":
$lines = file($file);
$to_write='';
$file_modified=false;
foreach ($lines as $line_num => $line) {
$newline = str_replace("Suite 425", "Suite 800", $line);
$to_write.=$newline;
if($newline!=$line){
$file_modified=true;
}
}
if($file_modified){
$file_handle=fopen($file, 'w');
fwrite($file_handle, $to_write);
fclose($file_handle);
}
break;
}
}
}
}
?>