2013-01-07 105 views
-3

我有一張用於上傳照片的表單。該照片應爲.jpg,.jpeg,.png.bmp。當我嘗試上傳圖片或照片時,它將存儲在臨時文件夾中,圖片/照片的名稱應該是表單的user_id。直到但我做..圖片上傳格式

但我的問題是,

  1. 只有.jpg文件上傳和顯示,當我嘗試上傳其他類型的,那麼它會保存在臨時文件夾,它不顯示。
+1

你能分享適當的代碼嗎? –

+0

向我們展示您目前正在做的事情。 –

+1

你需要顯示你的代碼。 –

回答

-1

用下面的例子只是嘗試:

<?php 
$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"] < 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("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"; 
    } 
?> 

我認爲這可以幫助你解決你的問題。

+0

-1,代碼轉儲不是答案。請解釋此代碼的作用以及它如何幫助OP。此外,這個代碼是*可怕的*。它信任用戶的MIME類型*和*信任它們的文件名。 – Charles

+0

沒有....它不適合我....沒有圖像上傳.. –

+0

@BenilaAnoop你可以發佈你的代碼我會修復它,這可能會有助於我瞭解問題。 –