10

誰でもこれを手伝ってもらえますか?Web 開発は初めてで、このエラーの意味がわかりません。

警告: fopen(images/nophoto.png): ストリームを開けませんでした: No such file or directory in /home/u835626360/public_html/remove.html 101 行目

このファイル/画像は開いていません。閉じる必要があります

コード:

$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

4 に答える 4

2

私は同じ問題に直面していました。w または w+ を使用するとファイルが作成されると思っていましたが、上記のエラーが発生しました。

問題は、ファイルを作成する前にディレクトリを作成する必要があることでした。

ファイルの絶対 DIR パスを取得できます

$dir = dirname($filename);

ディレクトリの作成

//if(!is_dir($dir))
mkdir( $dir , 0755, true);

3番目のパラメーターは、再帰的に必要な重要です

ばかげているように聞こえるかもしれませんが、誰かの時間を節約できるかもしれないので、ここに追加しました

于 2016-02-12T14:35:19.147 に答える
1

最初に、サーバー(ある場合)またはローカルPC(ローカルで開発している場合)でディレクトリを手動で作成します

ディレクトリにApacheの書き込み権があることを確認してください(UNIX-Linuxでは0777で、やりたくないことを実行できるかどうかを確認したくない場合、およびWindowsについてはわかりません)

そして、言われたように、ファイル名だけでなく、fopenへの適切なパスを指定します

于 2013-06-05T08:28:52.220 に答える
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   
     }
于 2013-06-05T09:45:23.557 に答える