0

move_uploaded_fileどうしてファイル( )をtempからセットアップしたディレクトリ()に移動できないのかを調べるのに数日間苦労していました/img/uploads/photos

たくさんのテストと頭を悩ませた後、アップロード機能で何が起こっているのかをCakePHPのCakeLogに書き込むことにしました。

私は物理的に作成しましたが:/img/uploads/photos、それを使用するCakeLog::write('debug', 'Does directory exist?: '.json_encode(file_exists('/img/uploads/photos/')));とログが記録されfalseます。またはis_dir、また戻りますfalse

なぜこれが起こっているのですか...誰かが私を助けることができますか?

4

4 に答える 4

2

あなたがディレクトリを作ったとは思えません/img/uploads/photos/か?それはおそらく他のファイルと同じディレクトリ内にあり、どこかそのよう/var/www/yoursite/img/uploads/photos/なものです。

http://php.net/manual/en/function.file-exists.php$_SERVER{'DOCUMENT_ROOT'}で確認できるように、のようないくつかのトリックを使用できます。

于 2012-06-24T14:47:38.673 に答える
1

/img/uploads/photos/あなたがディレクトリを作成したと言うとき、私はあなたを信じません。これは、マシンのルートから数えて絶対的なパスです。/var/www/img/uploads/photos/Webディレクトリのどこかにフォルダ(またはなど)を作成した可能性が高くなります/home/caboone/public_html/img/uploads/photos/

于 2012-06-24T14:47:27.510 に答える
0

パス/img/...は、パスがディスクルートを基準にしていることを意味します。つまり、ハードディスクimgの最上位レベルにあるディレクトリを示します。私はそれがディレクトリがあるとは思えません。パスをで開始して、/作業中のファイルからの相対パスにしないでください。ファイルパスはURLではありません。

于 2012-06-24T14:49:13.913 に答える
0
  1. あるディレクトリから別のディレクトリにファイルを移動するときは、絶対パスを使用してください。を使用して現在の絶対dirname(__FILE__)作業ディレクトリを取得し、残りのパスを追加します。
  2. @Alexの提案に従って、ディレクトリに適切な権限を設定します。使用chmod()し、権限を777(ugo + w)[user + group +othersworld-writeable]に設定します。
于 2012-06-24T14:50:10.940 に答える