2011-05-09 94 views
0

我想讓用戶使用此代碼更新他們的個人資料圖片。MYSQL,PHP,圖片上傳/更新失敗

require("../connection.php"); 

    $imgName = $_FILES['pic']['name']; 
    $imgTmp = $_FILES['pic']['tmp_name']; 
    $imgtype = $_FILES['pic']['type']; 
    $imgSize = $_FILES['pic']['size']; 

    $maxFileSize = 200000; 
    $pic = "../uploads/" . $user_id . "_" . time() . $imgName; 

    if ($imgSize > $maxFileSize) { 
     $error = "size"; 
    } 
    if ($imgType == "image/jpeg" || $imgType == "image/gif") { 
     $error .= ""; 
    } else { 
     $error = "type"; 
    } 
    if (file_exists($pic)) { 
     $error = "exists"; 
    } 
    if ($error == "" && $imgName != "") { 


    move_uploaded_file($imgTmp, $pic); 

    mysql_query("UPDATE users SET pic = '$pic', WHERE username = '$username'"); 


if (!mysql_query($query, $connect)) { 
die(mysql_error()); 
    } else { 
mysql_close($connect); 
header('location:http://www.WEBSITE.co.uk/users/upload-pic-thanks.php'); 
} 
    } else { 
header("Location:edit-pic-error.php?e=".$error); 
} 

,這讓我這個在地址欄:?編輯PIC-error.php E =類型,但是我試圖上傳的文件是.jpg和它比20000kb津貼較小。

我的mysql數據庫中的表被稱爲'users',表格行被稱爲'pic',它的Varchar 60允許空勾號。

該表格未使用新的帶時間戳的配置文件圖片進行更新。

請幫忙。

非常感謝

+0

什麼錯誤報告或出現在錯誤日誌中? – 2011-05-09 20:50:18

+0

我沒有得到任何錯誤,它只是將我發送到錯誤頁面標題,並且在地址欄中放置edit-pic-error.php?e = type,這表明類型錯誤。但它的.jpeg應該沒問題... – user736338 2011-05-09 20:54:43

+0

如果不是「image/jpeg」,那麼'$ imgType'的值是多少? – 2011-05-09 21:01:26

回答

0

$imgtype = $_FILES['pic']['type'];

if ($imgType == "image/jpeg" || $imgType == "image/gif") {

$ imgType與$ imgtype,通知的情況下。