【发布时间】:2013-07-22 06:09:15
【问题描述】:
所以我尝试在我的网站中使用fine-uploader(Minimal jQuery Demo) 将一些图片上传到网络服务器的上传文件夹。但是上传总是失败,我不知道为什么。
当我单击“上传文件”并选择一个文件时,它开始上传(进度条开始填充),当它达到 100% 时,它显示“上传失败”并在检查元素中给出此错误: (Bigger size image)
这里是upload.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Fine Uploader - jQuery Wrapper Minimal Demo</title>
<link href="css/fineuploader-3.6.3.css" rel="stylesheet">
</head>
<body>
<div id="fine-uploader"></div>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="js/jquery.fineuploader-3.6.3.js"></script>
<script>
function createUploader() {
var uploader = new qq.FineUploader({
element: document.getElementById('fine-uploader'),
request: {
endpoint: 'upload_file.php'
}
});
}
window.onload = createUploader;
</script>
</body>
</html>
还有upload_file.php:
<?php
for($i=0; $i<count($_FILES['file']['type']); $i++) {
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"][$i]);
$extension = end($temp);
if ((($_FILES["file"]["type"][$i] == "image/gif")
|| ($_FILES["file"]["type"][$i] == "image/jpeg")
|| ($_FILES["file"]["type"][$i] == "image/jpg")
|| ($_FILES["file"]["type"][$i] == "image/pjpeg")
|| ($_FILES["file"]["type"][$i] == "image/x-png")
|| ($_FILES["file"]["type"][$i] == "image/png"))
&& ($_FILES["file"]["size"][$i] < 50000000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"][$i] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"][$i] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"][$i] . "<br>";
echo "Type: " . $_FILES["file"]["type"][$i] . "<br>";
echo "Size: " . ($_FILES["file"]["size"][$i] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"][$i] . "<br>";
if (file_exists("upload\\" . $_FILES["file"]["name"][$i]))
{
echo $_FILES["file"]["name"][$i] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"][$i],
"\\upload\\" . $_FILES["file"]["name"][$i]);
echo "Stored in: " . "upload\\" . $_FILES["file"]["name"][$i];
}
}
}
else
{
echo "Invalid file";
}
}
?>
【问题讨论】:
-
检查您的上传目录是否存在、是否与脚本中的目录匹配以及在该目录上设置了权限可能是个好主意。
-
目录存在但如何查看权限?以及需要哪些权限才能上传到该目录?
-
如果你的服务器是windows你不需要设置任何权限。如果你在 Linux 上,你可以。您应该能够使用 FTP 客户端更改权限。这是一篇关于File Permissions的文章,权限应该是755。
-
谢谢,我去看看
-
为什么在马特的建议之后没有报告就添加赏金?您的上传被列为失败,因为您的服务器未返回有效的 JSON 响应。你的服务器有问题。你检查了什么?
标签: php jquery html file-upload fine-uploader