PHP图像上传不工作?
下面是提交文本和/或上传图像的表单代码PHP图像上传不工作?,php,mysql,image,file-upload,Php,Mysql,Image,File Upload,下面是提交文本和/或上传图像的表单代码 <form id="comments" action="insertcomment.php" method="POST" enctype="multipart/form-data"> Comment: <input type="text" name="comment" id="commentfield"> <br> <input type="hidden" name="MAX_FILE_SIZE"
<form id="comments" action="insertcomment.php" method="POST" enctype="multipart/form-data">
Comment: <input type="text" name="comment" id="commentfield">
<br>
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Image URL (Limit: 1MB): <input type="file" name="image">
<br>
<input type="submit" name="submit" value="Post comment" class="btn btn-primary">
</form>
评论:
图像URL(限制:1MB):
当用户单击submit按钮时,它会转到这个php脚本
<?php
include('../c_database.php');
$timeSet = date_default_timezone_set("Europe/London");
$User = $_COOKIE['username'];
$comments = mysqli_real_escape_string($dbc, $_REQUEST['comment']);
$time = date(DATE_RFC822);
if($_FILES['image']['size'] <= 1048576){
$allowedExts = array("jpg", "jpeg", "gif", "png", "bmp", "tiff", "xtiff");
$extension = end(explode(".", $_FILES["image"]["name"]));
if ((($_FILES["image"]["type"] == "image/gif")
|| ($_FILES["image"]["type"] == "image/jpeg")
|| ($_FILES["new_image"]["type"] == "image/png")
|| ($_FILES["image"]["type"] == "image/pjpeg"))
|| ($_FILES["image"]["type"] == "image/bmp"))
&& in_array($extension, $allowedExts))
{
if ($_FILES["image"]["error"] > 0) {
$error_message = $_FILES["image"]["error"];
} else {
if (file_exists("images/" . $_FILES["image"]["name"]))
{
$error_message = $_FILES["image"]["name"] . " " . $LANG['image_exist'];
} else {
if(move_uploaded_file($_FILES["image"]["tmp_name"], "images/" . $_FILES["image"]["name"])) {
// success
$image_name = $_FILES["image"]["name"];
} else {
$error_message = "Upload Failed!";
}
}
}
} else {
$error_message = "Error: May be different ext or size";
}
}
$imagepath = 'images/'. $_FILES["image"]["name"];
$commentQuery = "INSERT INTO comments (username, comments, time_added, imagepath) VALUES ('$User' ,'$comments' ,'$time' ,'$imagepath')";
$executeCommentQuery = mysqli_query($dbc, $commentQuery);
if($executeCommentQuery){
$user = $_COOKIE['username'];
$commentsMadeUpdate = "UPDATE login SET Comments_Made = Comments_Made +1 WHERE Username='$user'";
$executeUpdateQuery = mysqli_query($dbc, $commentsMadeUpdate);
echo '<!DOCTYPE html>
<html>
<head>
<title>Comment</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"> </script>
</head>
<body>';
echo 'Comment and/or image uploaded successfully';
echo '<script>location.href="comments.php"</script>';
echo '
</body>
</html>';
} else {
echo '<!DOCTYPE html>
<html>
<head>
<title>Comment</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"> </script>
</head>
<body>';
printf("Errormessage: %s\n", mysqli_error($dbc));
echo '
</body>
</html>';
}
?>
检查文件类型的最高级别条件可能由于可能的输入错误而永远不会触发:$\u FILES[“new\u image”][“type”]
应该是:$\u文件['image']['type']
您还应该考虑为数据库操作捕获异常:
mysqli_query(..) or trigger_error(mysqli_error($dbc));
你收到错误消息了吗?@DanielA.White我收到一个解析错误,但除了第12行没有其他信息我试过了,但我在第12行收到了一个解析错误,但这就是它提供的所有信息gives@RyanKelly仔细检查。。您有一个额外的“')::($_文件[“图像”][“类型”]=“图像/pjpeg”))