0

このコードが壊れている理由がわかりません

mkdir("upload/".$username.'/'.$title.'/', 0700);
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/".$username.'/'.$title.'/' . $_FILES["file"]["name"]);
      echo "Stored in: " ."upload/".$username.'/'.$title.'/' . $_FILES["file"]["name"];
      $link = "upload/".$username.'/'.$title.'/' . $_FILES["file"]["name"];

ここに私のエラーがあります

警告: mkdir() [function.mkdir]: No such file or directory in /Volumes/shared/Digital/_Websites/_TEST/qpm/submit.php on line 101

警告: move_uploaded_file(upload/test/test/Hand Over.docx) [function.move-uploaded-file]: ストリームを開くことができませんでした: No such file or directory in /Volumes/shared/Digital/_Websites/_TEST/qpm/submit .php 103 行目

警告: move_uploaded_file() [function.move-uploaded-file]: '/Applications/MAMP/tmp/php/phpYvo5b5' を /Volumes/shared/Digital の 'upload/test/test/Hand Over.docx' に移動できません/_Websites/_TEST/qpm/submit.php 行 103 保存場所: upload/test/test/Hand Over.docx1 レコードが追加されました

私;私はこれが機能していたと確信していますが、今はどういうわけかそれを壊しましたか?

に保存されているエコーは正しい文字列をエコーするため、mkdir が失敗する理由がわかりません。これが単純な修正である場合はお詫びします

4

2 に答える 2

1

知っておくべきことがいくつかありますmkdir()

  1. デフォルトでは、親ディレクトリが存在する場合にのみディレクトリを作成できます。true3 番目のパラメーターとして渡すと、中間ディレクトリを作成できます。

  2. 絶対パスがないと、ディレクトリが作成される場所を特定するのは困難です。構成ファイルを使用してこれを保存するか__FILE____DIR__との組み合わせを使用dirname()して派生させることができます。

$_FILES['file']['name']サーバー上にファイルを作成するために の値を直接使用しないことをさらにお勧めします。tempnam()オプションで、元のファイル名のサニタイズされたバージョンと組み合わせて使用​​します。

于 2013-09-04T08:17:50.657 に答える