任何人都可以帮助这个吗?我是网络开发的新手,不知道这个错误意味着什么?
警告:fopen(images / nophoto.png):无法打开流:没有 /home/u835626360/public_html/remove.html中的文件或目录 101
此文件/图片无法打开您需要关闭
CODE:
$expire=time()-3600;
setcookie("dname","a", $expire);
setcookie("dpode","a", $expire);
}
function delpics($filename)
{
$path_to_file='userpics/';
$old = getcwd(); // Save the current directory
chdir($path_to_file);
$fh = fopen($filename, 'w') or die("can't this file/picture is open you need close ");
fclose($fh);
if (!unlink($filename))
{
echo ("Error deleting $file");
}
else
{
echo ("Deleted $filename");
}
chdir($old); // Restore the old working directory
}
答案 0 :(得分:8)
您需要为fopen
提供文件的完整路径,而您根本不需要chdir()
。试试这个版本:
$path_to_file='userpics/';
$fh = fopen($path_to_file.$filename, 'w') or die('Permission error');
答案 1 :(得分:0)
试试这个:
$expire=time()-3600;
setcookie("dname","a", $expire);
setcookie("dpode","a", $expire);
function delpics($filename)
{
$path_to_file='/userpics/';
$old = getcwd(); // Save the current directory
chdir($old.$path_to_file);
$fh = fopen($filename, 'w') or die("can't this file/picture is open you need close ");
fclose($fh);
if (!unlink($filename))
{
echo ("Error deleting $file");
}
else
{
echo ("Deleted $filename");
}
chdir($old); // Restore the old working directory
}
答案 2 :(得分:0)
我遇到了同样的问题。我想如果我使用w或w +但是给我上面的错误就会创建文件。
所以问题是我们需要在创建文件之前创建dir。
我们可以获得文件的绝对DIR路径
$dir = dirname($filename);
创建DIR
//if(!is_dir($dir))
mkdir( $dir , 0755, true);
第三个参数非常重要,你想要递归
我知道这听起来很愚蠢,但可能会节省一些人的时间,所以加在这里
答案 3 :(得分:-1)
首先在您的服务器(如果有的话)或本地电脑(如果您是本地开发人员)中手动制作目录
一定要在你的dir中为apache编写权限(unix-linux中为0777,如果你不确定你能做什么,你不想做什么,不知道windows)
然后就像说它给fopen提供了良好的途径而不仅仅是文件名