PHP Warning: fclose(): 怎么解决 在线等待

提示出错Warning:fclose():suppliedargumentisnotavalidstreamresourceinD:\www\www.52get.com\... 提示出错
Warning: fclose(): supplied argument is not a valid stream resource in D:\www\www.52get.com\install.php on line 275

Warning: fclose(): supplied argument is not a valid stream resource in D:\www\www.52get.com\install.php on line 287
数据库连接成功,请继续 ……

程序正在准备创建数据表,请稍候 ……

Warning: file_get_contents(./inc/install/aimv.sql) [function.file-get-contents]: failed to open stream: No such file or directory in D:\www\www.52get.com\install.php on line 313
无法读取安装数据: ./inc/install/aimv.sql

代码是
$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("/databasePrefix\s*\=\s(\'|\")(.*?)(\"|')/","databasePrefix = \"" . $databasePrefix. "\"",$conf_file);
@$fp = fopen($file_name,'w');
$fw = fwrite($fp, trim($conf_file));
fclose($fp);

行275是 fclose($fp);
展开
 我来答
百度网友9de215a
2011-04-04 · TA获得超过381个赞
知道小有建树答主
回答量:720
采纳率:0%
帮助的人:348万
展开全部
同上。。改为a试试。。。或者先弄个txt文本来测试哈看fopen函数成功没?
fopen("111.txt","a")。。路径也改哈。。不用前面的$file_name 。。这样就可以测试出是哪的问题了
更多追问追答
追问
我把FTP给你们看下  ftp://a@a:121.204.98.103       
这个是访问的地址http://www.52get.com/install.php
追答
回答我改过了。。我进不去
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jinboagg
2011-04-05 · 超过18用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:51万
展开全部
我个人觉得你可能是在前面的语句中就发生了错误,但是因为加了@所以错误没有显示,你把所有的@都去掉,然后看看错误是从哪里来的。很可能是fopen发生错误了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IBM℡
2011-04-04 · 超过63用户采纳过TA的回答
知道答主
回答量:215
采纳率:0%
帮助的人:189万
展开全部
错误的原因是fclose关闭的是一个无效的句柄,也就是说,fclose参数是个无效的流.
你可能文件不存在吧?
把第二行的r改成r+试试.
追问
也不行
追答
文件存在不?
这样试下.
我把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("/databasePrefix\s*\=\s(\'|\")(.*?)(\"|')/","databasePrefix = \"" . $databasePrefix. "\"",$conf_file);
fclose(@$fp);
@$fp = fopen($file_name,'w+');
$fw = fwrite($fp, trim($conf_file));
fclose($fp);
这样应该可以,否则把@去掉.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-04
展开全部
$filenum=fopen($file_name,"r");
... ...
fclose($filenum);
追问
只是 改了变量名 但是还是不对啊
追答
俺的程序就是这样写的,没有你的@
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式