MYSQL、PHP、图片上传/更新失败

发布于 2024-11-06 01:23:17 字数 1194 浏览 1 评论 0原文

我试图允许用户使用此代码更新他们的个人资料图片。

   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,allow null勾选。

该表不会使用带有新时间戳的个人资料图片进行更新。

请帮忙。

非常感谢

i am trying to allow users to update their profile picture using this code.

   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);
}

and it gives me this in the address bar: edit-pic-error.php?e=type, however the file i am trying to upload is .jpg, and its smaller than the 20000kb allowance.

The table in my mysql database is called 'users', and the table row is called 'pic', its Varchar, 60, allow null ticked.

The table is not being updated with the new time stamped profile picture.

Please help.

Thanks very much

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

羁客 2024-11-13 01:23:17

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

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

$imgType 与 $imgtype,注意大小写。

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

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

$imgType vs. $imgtype, notice the case.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文