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 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)