2012-11-20 78 views
4

我想使用php上傳圖像文件。我正在使用一個簡單的文件上傳代碼,如www.w3schools.com/php/php_file_upload.asp,但有時php文件無法上傳圖像,PHP文件上傳文件錯誤

圖像不是那麼大。一個只有130kb的大小,上傳過程高達48%的罰款,然後很長一段時間後減慢達到72%,並給我一個錯誤「不完整的請求」。有沒有什麼辦法可以解決這個問題。

編輯

代碼:

$allowedExts = array("jpg", "jpeg", "gif", "png"); 
$extension = end(explode(".", $_FILES["file"]["name"])); 
if ((($_FILES["file"]["type"] == "image/gif") 
|| ($_FILES["file"]["type"] == "image/jpeg") 
|| ($_FILES["file"]["type"] == "image/png") 
|| ($_FILES["file"]["type"] == "image/pjpeg")) 
&& ($_FILES["file"]["size"] < 2000000) 
&& in_array($extension, $allowedExts)) 
    { 
    if ($_FILES["file"]["error"] > 0) 
    { 
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; 
    } 
    else 
    { 
    echo "Upload: " . $_FILES["file"]["name"] . "<br />"; 
    echo "Type: " . $_FILES["file"]["type"] . "<br />"; 
    echo "Size: " . ($_FILES["file"]["size"]/1024) . " Kb<br />"; 
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; 

    if (file_exists("upload/" . $_FILES["file"]["name"])) 
     { 
     echo $_FILES["file"]["name"] . " already exists. "; 
     } 
    else 
     { 
     move_uploaded_file($_FILES["file"]["tmp_name"], 
     "upload/" . $_FILES["file"]["name"]); 
     echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
     } 
    } 
    } 
else 
    { 
    echo "Invalid file"; 
    } 
+1

能否請您發佈您的代碼?這種方式很難看。通常這是由服務器上的配置問題引起的。然而,你似乎提到一些文件**實際上得到上傳,是正確的? – Digitalis

+0

@Digitalis代碼發佈,是的一些照片確實上傳,一些沒有,他們從互聯網下載,我試圖在gmail和gmail上的相同圖像上傳圖像很好,但在tumblr上有同樣的問題 – rksh

+0

我我不敢在我的開發服務器上重現你的錯誤。祝你好運,但我不知道答案。 – Digitalis

回答

0

我想你應該先嚐試

$foo = explode('.', $_FILES['file']['name']); 
$extension = end($foo); 

move_uploaded_file($_FILES["file"]["tmp_name"], 
        "upload/" . $_FILES["file"]["name"]); 
echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 

然後:

  • 增加的圖像來uploa DED您的文件中
  • 然後所有內容的位置,創建要在其中存儲您的圖片文件夾,該文件夾應該命名爲upload