2015-05-07 142 views
0

我想通過php將圖像上傳到數據庫中,但我面臨以下問題。我無法通過php上傳文件

Upload failed 
Here is some more debugging info: 
Notice: Undefined index: filetoUpload in C:\Users\Konstantina\Desktop\Upload.php on line 39 

upload.php的代碼:

$uploaddir = 'upload/'; 

if(!file_exists($uploaddir)){ 
    if(mkdir($uploaddir,0777,true)){}else{echo "fail to create folder";} 

} 
    $uploadfile = $uploaddir . basename($_FILES['fileToUpload']['name']); 

    if (move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $uploadfile)) { 
     echo "File is valid, and was successfully uploaded.\n"; 
    } else { 
     echo "Upload failed"; 
    } 

    echo "</p>"; 
    echo '<pre>'; 
    echo 'Here is some more debugging info:'; 
    echo($_FILES['filetoUpload']['errors']); 

Insert.html代碼:

<form action="Upload.php" method="post" enctype="multipart/form-data" name="myform" id="myform"> 
      <label > Select image </label> 
      <input type="file" name="fileToUpload" > 

<input id="upload" type="submit" name="submit" value="Upload"> 

     </form> 

我打開file_uploads=On

+0

,我看到你的文件(upload.php的)是在桌面上?我對嗎。把它放在你的xampp或wampp或燈htdocs文件夾中運行。否則它不會執行。 –

+1

線索:變量區分大小寫。錯別字是無關緊要的。 –

+0

另外,該文件沒有上傳?因爲''echo($ _ FILES ['filetoUpload'] ['errors'])中只有一個輸入錯誤;''這不應該阻止你的文件被上傳。你只是在你的上傳代碼後面回顯。 –

回答

0

你輸出錯誤的索引檢索錯誤:

echo($_FILES['filetoUpload']['errors']); 

應該是:

echo($_FILES['fileToUpload']['errors']); 

Afther這一點,我們就可以知道錯誤是基於手動上:

http://php.net/manual/es/features.file-upload.errors.php

+0

謝謝你的提示,但它並沒有顯示任何有關錯誤的更多信息 – Anon

+0

我建議使用'error_reporting(E_ALL);'來調試可能發生的讀/寫錯誤。 '$ _FILES ['fileToUpload'] ['errors']'會顯示文件大小,文件選擇或不可寫入的臨時目錄等上傳錯誤,但不會在move_uploaded_file上顯示錯誤。 – Nokrosis

+0

它顯示我,22527錯誤,但我沒有找到任何解決方案 – Anon

0

我想你使用的上傳目錄的完整路徑

$uploaddir = 'upload/'; 

使用像

$uploaddir = '/var/www/upload/';  

也必須

echo "</p>"; 
    echo '<pre>'; 
    echo 'Here is some more debugging info:'; 
    echo($_FILES['filetoUpload']['errors']); // here to is small t while in other you have To