2012-01-08 3 views
0

私のコードは、mkdir関数によってチェックされるべきですが、フォルダが存在しないと言っています。フォルダを作成しますが、アップロードプロセスは行われません。 couldntのエラーを表示するフォルダを見つける..アルゴリズムは正しいですか?助けてください..あなたの助言が助けになる! :)ここファイルシステムのパス作成エラー(ファイルのアップロード)

は、コード..です

if(!(file_exists($target_path))) 
{ 
    if(!mkdir($target_path, 0777, TRUE)) 
    { 
     die ("could not create the folder on mkdir"); 
    } 
    //in this line the error occurs..printing what is below..// 
    die ("could not find folder on file exists"); 
} 
else 
{ 
    umask($target_path); 
    ... 
} 
+0

正確なエラーメッセージとその行が引用できますか? –

+0

@Pekka私は既に行っています。ありがとうございました。ありがとうございます。:D – SimonCode

+0

編集のために感謝しています@hakre hehe ..:Dは言い方を知らない.. – SimonCode

答えて

1

file_exists()ルーチンはそう

file_exists($target_path); 

呼び出しはokです

/var/www/uploads/file1.c 

のようにファイルへの完全なパスが必要です。しかし、2回目の呼び出しは

mkdir() 

がディレクトリを要求している、すなわち、ディレクトリを作成し、ファイルへのパスではなく、すなわち、それはの/ var/www /のアップロードの一部のみを必要とします。 パス名からベース名を削除し、それをmkdir関数に適用することができます。

1

は、コードの(file_exists($ TARGET_PATH)& & is_dir($ TARGET_PATH)){//残りの場合..

を試してみてください。 .. }の代わりに、

...

(もし!(file_exists($タールこれはあなたのために何かを行いますGET_PATH))){

}

希望...

...................... .........

一つのことは、より多くの... は、私は、問題があればであると思います(!(file_exists($のTARGET_PATH))){}声明、

THISはする必要があります... if(!file_exists($ target_path)){}

+0

いいえ私はこの1つを試します.. – SimonCode

+0

それはまだ動作しませんでした.. – SimonCode

2

ファイルのアップロード処理中に、ファイル保存パスがmove_uploaded_file() になると、問題が発生する可能性があります。私は、あなたの与えられたコードが私にとって十分にはっきりしていないためかもしれないと言っています。 move_uploaded_file()の2番目のパラメータは、最初のパラメータがファイル名である出力先です。 $ target_pathの値を確認してください、あなたの問題を解決するかもしれません。ありがとうございました。

+0

助けてくれてありがとう! :D – SimonCode

関連する問題