【发布时间】:2011-05-09 20:48:20
【问题描述】:
我正在尝试允许用户使用此代码更新他们的个人资料图片。
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);
}
它在地址栏中给了我这个:edit-pic-error.php?e=type,但是我要上传的文件是 .jpg,它小于 20000kb 的限额。
我的mysql数据库中的表叫'users',表行叫'pic',它的varchar,60,允许空打勾。
表格未使用新的带时间戳的个人资料图片进行更新。
请帮忙。
非常感谢
【问题讨论】:
-
错误日志中报告或出现了哪些错误?
-
我没有收到任何错误,它只是将我发送到错误页面标题,并将 edit-pic-error.php?e=type 放在地址栏中,这表明类型错误。但它的 .jpeg 所以应该没问题...
-
$imgType不是 "image/jpeg" 的值是多少? -
我不确定。但是 $imgType 可以说明接受的内容。
-
您不必猜测
$imgType是什么。 PHP 可以告诉你:echo $imgType