无法打开流:没有这样的文件或目录

时间:2013-06-05 08:23:08

标签: php

任何人都可以帮助这个吗?我是网络开发的新手,不知道这个错误意味着什么?

  

警告: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   
}

4 个答案:

答案 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提供了良好的途径而不仅仅是文件名