qq_30532781 2019-01-15 09:38 采纳率: 58.3%
浏览 390
已采纳

PHP本地html文件替换某个字符串 只返回一行代码

<?php
//替换txt文件中的某个字符串

//实现遍历指定文件下的目录总数量(不含子目录)
header("Content-Type: text/html; charset=gb2312");
$path = (dirname(__FILE__));//当前文件夹,比如book000文件夹
echo $path. "<br>";
if(!is_dir($path ))  //检查指定的文件是否是一个目录。如果目录存在,该函数返回 TRUE。
return null;

$handle = opendir( $path ); //opendir打开目录句柄



if (is_dir($path)){
  if ($dh = opendir($path)){
    while (($file = readdir($dh)) !== false){
      echo "filename:" . $file . "<br>";
    }
    closedir($dh);
  }
}




while (false !== ($file = readdir($handle)))  //readdir 返回目录中下一个文件的文件名
{
if ($file != '.' && $file != '..')
{
$path2 = $path . '/' . $file;//文件路径


if (is_dir( $path2 ))
{
if (!is_file($path2."/index.php")){
echo "test.txt 文件不存在。"."<br>";
}


else {
//读取文件
$file_name=$path2."/index.php";
$fp=fopen($file_name,'r');
while(!feof($fp))
{
$buffer=fgets($fp);
//echo $buffer."001<br />";
if(strstr($buffer,"长沙"))//判断是否包含某个字符串
{
//替换文件
$buffer = str_replace("长沙","",$buffer);
//$buffer = preg_replace("长沙","",$buffer);
echo $buffer."<br />";
$fp2=fopen($file_name,'w');//以写入的方式的打开
fwrite($fp2,$buffer);
echo $file."/index.php中的字符串替换,成功。"."<br>";
fclose($fp2);
}
else{
echo $file."index.php 文件不包含被替换字符"."<br>";
}
}
fclose($fp);
}
}
}
}
?>

请问各位大神,该如何替换html文件所需要替换的字符串后,输出修改后的文件

而不是只输出一行代码
  • 写回答

2条回答 默认 最新

  • WildStark 2019-01-17 00:07
    关注

    在while外面用$fopen($file_name,'w');置空内容,在while里面需要写入的地方用$fopen($file_name,'a');追加内容,详情请看PHP fopen() 函数,成功了的话求币,想下个东西

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大