Heim  >  Artikel  >  Backend-Entwicklung  >  php fopen 有关问题

php fopen 有关问题

WBOY
WBOYOriginal
2016-06-13 13:33:171003Durchsuche

php fopen 问题求助
templetest.php

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?php $title     = "tst";
   $file        = "hehe";
   $fp       = fopen ("temp.html","r");
   $content  = fread ($fp,filesize ("temp.html"));
  // echo "读取的信息".$content."<br>";
   $content .= str_replace ("{file}",$file,$content);
   // echo $content;
   $content .= str_replace ("{title}",$title,$content);   
   $filename = "test.html";
   $handle    = fopen ($filename,"w"); //打开文件指针,创建文件
   /*
 检查文件是否被创建且可写
   */
   if (!is_writable ($filename)){
      die ("文件:".$filename."不可写,请检查其属性后重试!");
   }
   if (!fwrite ($handle,$content)){  //将信息写入文件
      die ("生成文件".$filename."失败!");
   } 
   fclose ($handle); //关闭指针   
   die ("创建文件".$filename."成功!");
?>



temp.html
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
  <title>{title}</title>
  
     {file}
  



生成之后的界面
test.html
HTML code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
  <title>{title}</title>
  
     {file}
  


  {title}
  
     hehe
  


  tst
  
     {file}
  


  tst
  
     hehe
  



尝试做文章静态化
问:为什么会出现这么多次、我只需要最后一次。。

------解决方案--------------------
$content = str_replace ("{file}",$file,$content);
// echo $content;
$content = str_replace ("{title}",$title,$content);

没有 . ,不然的话会把处理前后结果相连
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn