PHP Warning: fclose(): 怎么解决 在线等待
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP Warning: fclose(): 怎么解决 在线等待相关的知识,希望对你有一定的参考价值。
提示出错
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);
fopen("111.txt","a")。。路径也改哈。。不用前面的$file_name 。。这样就可以测试出是哪的问题了追问
我把FTP给你们看下 ftp://a@a:121.204.98.103
这个是访问的地址http://www.52get.com/install.php
回答我改过了。。我进不去
追问家我的QQ一下 81290882
追答权限。。
本回答被提问者和网友采纳 参考技术B 我个人觉得你可能是在前面的语句中就发生了错误,但是因为加了@所以错误没有显示,你把所有的@都去掉,然后看看错误是从哪里来的。很可能是fopen发生错误了。 参考技术C 错误的原因是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);
这样应该可以,否则把@去掉.
... ...
fclose($filenum);追问
只是 改了变量名 但是还是不对啊
追答俺的程序就是这样写的,没有你的@
php
文件操作
1.打开文件fopen写入fwrite读取fgets
$f = fopen(‘data‘,‘w‘);
fwrite($f,‘Hello php‘);
fclose($f);
echo ‘OK‘;
$content = fgets($f);
fclose($f);
>在php中如果是想要忽略掉某个函数的警告,只需要要在这个函数的前满加上@符号即可
>fgets()只是读取一行数据,可以用while循环进行将整个文件都读取出来,读取到文件的末尾是EOF
>其中,也是可以用file_get_contents()这个函数直接将这个文件中的所有数据都读取出来的,不过他的参数是这个文件的完整路径
或者是相对的路径
2.图像
$img = imagecreate(400,300); #//生成一个图片
imagecolorallocate($img,200,0,0); #设置颜色
imageellipse($img,200,200,50,50,imagecolorallocate($img,0,255,0));#//在这个图片上面画上一个圆
header(‘Content-type:image/png‘);#因为默认情况下是以文本进行的输出,但是这里显然是不合适的,因为这里是图片,所以要改变包的头部信息(也就是MIME类型)
imagepng($img); #输入一个图片
当然,很多的库函数可以再php.net这个网址上面找到
3.给图片打上水印
$img = imagecreatefromjpeg(‘1.jpg‘); #选定一个特定的图片
imagestring($img,5,5,5,‘jikexueyuan.com‘,imagecolorallocate($img,255,255,0)); #打上一个特定的水印,包括这个水印的字体颜色等
header(‘Content-type: img/jpeg‘); #改变包的头部的信息,
imagejpeg($img); #输出这个图片
以上是关于PHP Warning: fclose(): 怎么解决 在线等待的主要内容,如果未能解决你的问题,请参考以下文章