我把r换成了r+,把w换成w+.
$file_name = './inc/const.php'; //要替换操作的文件
@$fp = fopen($file_name,'r+'); //打开要替换的文件
@$conf_file = fread($fp,filesize($file_name));
$conf_file = preg_replace("/httpurl\s*\=\s(\'|")(.*?)("|')/","httpurl = "" . $httpurl. """,$conf_file);
$conf_file = preg_replace("/databasePrefixs*=s('|\")(.*?)(\"|')/","databasePrefix = \"" . $databasePrefix. "\"",$conf_file);
fclose(@$fp);
@$fp = fopen($file_name,'w+');
$fw = fwrite($fp, trim($conf_file));
fclose($fp);
这样应该可以,否则把@去掉.