sorry,it is $yummy = array($reldate, $relversio, $rel_statu);
$fp = fopen($filename,"r+"); 就有Warning: fopen("f:\www\a.rtf", "r+") - Permission denied in F:\www\wwwroot\testfile.php on line 46Warning: Supplied argument is not a valid File-Handle resource in F:\www\wwwroot\testfile.php on line 51Warning: Supplied argument is not a valid File-Handle resource in F:\www\wwwroot\testfile.php on line 55$fp = fopen($filename,"r");就没有错误
这个试试看,如果你是WIN系统的话
如果是windows,那只有先把文件读在字符串里,
然后
preg_replace('需要替换的','替换成...','文本文件字符串');
然后再将字符串写到文件里就可以了
<?
$filename = "f:\\www\\a.rtf";if(file_exists($filename))
{
echo"filename is exists";
}
else
{
echo"filename is not exists";
}
echo "<br>",$filename.":".filesize($filename)."byte";
echo "<br>", filetype($filename);$fp = fopen($filename,"r+");$healthy = array("releasedate0001", "releaseversion0002", "releasestatus0003");
$yummy = array("$reldate", "$relversion", "$rel_status");$newphrase = str_replace($healthy, $yummy, $fp);fclose($fp);
?>
主要就是这句话了,
1.最后几个参数,传$fp是不可以的,应当传如一个字符串:
$f_string = fread($fp,filesize($filename));
然后:
str_replace($healthy, $yummy, $f_string);$f_string就可以替换后的了,然后在fwrite,就可搞定
把
$yummy = array("$reldate", "$relversion", "$rel_status");
改成:
$yummy = array($reldate, $relversio", $rel_statu");
在试试。
在str_replace前后分别加上
echo $f_string看看,
print_r($yummy)和print_r($healthy)看看,就应该知道问题在什么地方
$yummy = array($reldate, $relversio, $rel_statu);
就有Warning: fopen("f:\www\a.rtf", "r+") - Permission denied in F:\www\wwwroot\testfile.php on line 46Warning: Supplied argument is not a valid File-Handle resource in F:\www\wwwroot\testfile.php on line 51Warning: Supplied argument is not a valid File-Handle resource in F:\www\wwwroot\testfile.php on line 55$fp = fopen($filename,"r");就没有错误
楼主可以自己先将$f_string随便给个值,测测str_replace是否正常