qq_30532781 2019-01-15 09:38 采纳率: 0%
浏览 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 使用MATLAB进行余弦相似度计算加速
  • ¥15 服务器安装php5.6版本
  • ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
  • ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
  • ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
  • ¥15 arcgis处理土地利用道路 建筑 林地分类
  • ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
  • ¥100 寻会做云闪付tn转h5支付链接的技术
  • ¥15 DockerSwarm跨节点无法访问问题
  • ¥15 使用dify通过OpenAI 的API keys添加OpenAI模型时报了“Connection Error”错误