2011-05-09 13 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、および2万キロバイト手当よりもその小さくされます。

私のmysqlデータベースのテーブルは「ユーザー」と呼ばれ、テーブル行は「pic」と呼ばれ、そのVarchar、60はnullがチェックされています。

表は、新しいタイムスタンプ付きのプロフィール画像で更新されていません。

助けてください。

どうもありがとうございました

の$ imgtype対
+0

エラーログにはどのようなエラーが報告されますか? –

+0

私はエラーを受け取らない、単にエラーページのヘッダに私を送り、edit-pic-error.php?e =タイプが間違っていることを示唆するアドレスバーにタイプする。しかし、その.jpegはうまくいくはずです... – user736338

+0

"image/jpeg"でないなら '$ imgType'の値は何ですか? –

答えて

0

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

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

$ imgTypeは、ケースに気づきます。

関連する問題