2012-03-31 18 views
5

ファイルのアップロードコードを作成したばかりで、ファイルのアップロードがうまくいかない理由が不思議でした。PHP:ファイルのアップロードmove_uploaded_file()が動作しない

<form action="upload_file.php" method="post" enctype="multipart/form-data"> 
<label for="file">Filename:</label> 
<input type="file" name="file" id="file" /> 
<br /> 
<input type="submit" name="submit" value="Submit" /> 
</form> 

そしてPHPコード::だから

<?php 
if ($_FILES["file"]["error"] > 0){ 
echo "Error Code: " . $_FILES["file"]["error"] . "<br />"; 
} 
else 
{ 
echo "Uploaded file: " . $_FILES["file"]["name"] . "<br />"; 
echo "Type: " . $_FILES["file"]["type"] . "<br />"; 
echo "Size: " . ($_FILES["file"]["size"]/1024) . " kilobytes<br />"; 

if (file_exists("/files/".$_FILES["file"]["name"])) 
    { 
    echo $_FILES["file"]["name"] . " already exists. No joke-- this error is almost <i><b>impossible</b></i> to get. Try again, I bet 1 million dollars it won't ever happen again."; 
    } 
else 
    { 
    move_uploaded_file($_FILES["file"]["tmp_name"],"/filebro/".$_FILES["file"]["name"]); 
    echo "Done"; 
    } 
} 
?> 

、問題はおそらく何をすることができ、私はこれは私のアップロードのHTMLコードです0777.にアップロードディレクトリを変更しましたか?

+0

「機能しない」と定義してください。エラーメッセージが出ますか?エラー報告はありますか? – deceze

+0

あなたのパスを実際にサーバー上のルートパスとして使用しているのでしょうか、またはあなたのWebルートからの相対パスであるはずですか? – jprofitt

+0

あなたは誰かが.htaccessファイルをアップロードして、これで多くの楽しいことをすることができることに気づくべきです –

答えて

11

あなた

if (file_exists("/files/".$_FILES["file"]["name"])) 

は常にfalseを返します

move_uploaded_file($_FILES["file"]["tmp_name"],"filebro/".$_FILES["file"]["name"]); 
+0

ありがとうございました!それは完璧に働いた。 :D – SnarkyDTheman

+0

相対パスと絶対パスについて読むことができます。 – segrived

+6

@ SnarkyDThemanこの回答があなたの問題を解決した場合は、正しいものとしてマークする必要があります... –

0

を試してみてください。ファイルは一時名で保存されます。

ではなく

if (is_uploaded_file($_FILES["file"]["tmp_name"])) 

を試してみてください。

関連する問題