2013-06-04 186 views
0

我試圖建立一個簡單的,奇異的圖片上傳,接受jpg,jpeg,gif和png格式。PHP圖片上傳無法正常工作,但一切正常?

我試過只有以下我有沒有運氣,不斷收到invalid file

$allowedExts = array("gif", "jpeg", "jpg", "png"); 
$extension = end(explode(".", $_FILES["file"]["name"])); 
if ((($_FILES["file"]["type"] == "image/gif") 
|| ($_FILES["file"]["type"] == "image/jpeg") 
|| ($_FILES["file"]["type"] == "image/jpg") 
|| ($_FILES["file"]["type"] == "image/pjpeg") 
|| ($_FILES["file"]["type"] == "image/x-png") 
|| ($_FILES["file"]["type"] == "image/png")) 
&& ($_FILES["file"]["size"] < 20000) 
&& 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("uploads/" . $_FILES["file"]["name"])) 
     { 
     echo $_FILES["file"]["name"] . " already exists. "; 
     } 
    else 
     { 
     move_uploaded_file($_FILES["file"]["tmp_name"], 
     "upload/" . $_FILES["file"]["name"]); 
     echo "Stored in: " . "uploads/" . $_FILES["file"]["name"]; 
     } 
    } 
    } 
else 
    { 
    echo "Invalid file"; 
    } 

我的HTML表單...

<form method="post" action="process-signup.php" enctype="multipart/form-data"> 
    <input type="file" name="profile_image" /> 
    <input type="submit" value="submit" /> 
</form> 
+0

請print_r($ _ FILE); –

+0

主要用於CSS和jQuery,其中的一個是客戶端@Ahmed - 不知道你是否知道這一點,感到驚訝。 – Liam

回答

2
<input type="file" name="file" /> 
+0

我仍然收到無效文件@messifan – Liam

+0

請print_r($ _ FILE); –

1

改變這一行<input type="file" name="profile_image" />

<input type="file" name="file" /> 
0

$ _FILES是一個PHP全局變量,用於在將數據上傳到服務器時存儲所有數據。它具有所有這些數據格式爲e,g。 $ _FILES [FORM_ELEMENT_NAME] [ '名稱'],$ _FILES [FORM_ELEMENT_NAME] [ '類型']等

FORM_ELEMENT_NAME - 是輸入元件的形式

<input type="file" name="FORM_ELEMENT_NAME">

在所使用的名稱的你使用錯誤的代碼。在HTML你已經把

<input type="file" name="profile_image" />即profile_image

和PHP您使用$ _FILES [ 「文件 」] [「 名稱」],即文件

變化無論是在HTML表單元素名稱或在PHP腳本