Javascript 我的图像上载脚本出现序列化表单问题
我使用以下PHP脚本(几乎是从W3Schools粘贴的副本)来存储POST表单传递的图像:Javascript 我的图像上载脚本出现序列化表单问题,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,我使用以下PHP脚本(几乎是从W3Schools粘贴的副本)来存储POST表单传递的图像: <?php $allowedExts = array("gif", "jpeg", "jpg", "png"); $temp = explode(".", $_FILES["imageUpload"]["name"]); $extension = end($temp); if ((($_FILES["imageUpload"]["type"] == "image/gif") || ($_FILES
<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["imageUpload"]["name"]);
$extension = end($temp);
if ((($_FILES["imageUpload"]["type"] == "image/gif")
|| ($_FILES["imageUpload"]["type"] == "image/jpeg")
|| ($_FILES["imageUpload"]["type"] == "image/jpg")
|| ($_FILES["imageUpload"]["type"] == "image/pjpeg")
|| ($_FILES["imageUpload"]["type"] == "image/x-png")
|| ($_FILES["imageUpload"]["type"] == "image/png"))
&& ($_FILES["imageUpload"]["size"] < 500000)
&& in_array($extension, $allowedExts)) {
if ($_FILES["imageUpload"]["error"] > 0) {
echo "Error: try again";
} else {
if (file_exists("upload/" . $_FILES["imageUpload"]["name"])) {
echo "Error: a file with that name already exists";
} else {
move_uploaded_file($_FILES["imageUpload"]["tmp_name"],
"upload/" . $_FILES["imageUpload"]["name"]);
echo "upload/" . $_FILES["imageUpload"]["name"];
}
}
} else {
echo "Error: make sure file is less than 500kb and is a gif/jpg/png";
}
?>
以下是表单的HTML(如果有帮助):
<div id="uploadImageDialog" title="Upload Image">
Select the image you wish to upload.
<form method="post" action="imageUpload.php" enctype="multipart/form-data" name="uploadImageForm" id="uploadImageForm">
<input type="file" name="imageUpload" id="imageUpload">
<input type="submit" value="Upload">
</form>
</div>
选择要上载的图像。
当我手动提交表单时,PHP脚本工作正常。然而,当我用AJAX提交它时,我不断收到“错误:确保文件小于500kb并且是gif/jpg/png”消息。当然,该文件确实有效,但由于某些原因,它无法通过一个或多个if检查。我怀疑是因为表单被序列化了。我知道序列化的作用,但我不知道如何/是否需要在服务器脚本上执行某些操作以接受序列化数据?还是其他地方有问题?错误:确保文件小于500kb,并且是gif/jpg/png文件“我认为这是个错误obvious@sakir谢谢你的帮助!然而,如果你读了我的帖子,你会发现我马上说这个文件是有效的。通过手动发布表单提交文件不会导致错误。这个问题只出现在AJAX发布中,与文件类型或大小无关
<div id="uploadImageDialog" title="Upload Image">
Select the image you wish to upload.
<form method="post" action="imageUpload.php" enctype="multipart/form-data" name="uploadImageForm" id="uploadImageForm">
<input type="file" name="imageUpload" id="imageUpload">
<input type="submit" value="Upload">
</form>
</div>