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条)

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试