我使用plupload和php clas调整大小http://www.verot.net/php_class_upload_docs.htm
一切顺利,但当我上传大文件4000x2000 px只有250kb时,上传失败。 resize的类有最大的宽度和高度,但它被设置为NULL,因此它不会检查它是否导致取消上传。
我在AJAX处理程序中的代码就是这个。
$foo = new Upload($_FILES['file']);
if ($foo->uploaded)
{
$new_name = functions::getRandomString(16);
$foo->file_new_name_body = 'b_' . $new_name;
if ($foo->image_src_x > 800 or $foo->image_src_y > 600)
{
$foo->image_resize = true;
$foo->image_ratio = true;
$foo->image_y = 600;
$foo->image_x = 800;
}
$foo->image_convert = 'png';
$foo->Process($upload_path);
if ($foo->processed)
{
//echo 'image renamed "foo" copied';
}
else
{
die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Chyba prejmenovani."}, "id" : "id"}');
}
AND jquery
$("#uploader").pluploadQueue({
// General settings
runtimes : 'html5,html4',
url : '/core/ajax/ajax_upload.php',
max_file_size : '10mb',
chunk_size : '5mb',
unique_names : true,
/*
resize : {width : 320, height : 240, quality : 90},
*/
// Specify what files to browse for
filters : [
{
title : "Image files",
extensions : "jpg,jpeg,gif,png"
}]
});
以及此具体文件上载会话的JSON响应
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
答案 0 :(得分:0)
有可能通过PHP配置限制文件大小,尝试查看Apache错误日志以查看确切的问题。
或者
您还可以使用<?php phpinfo(); ?>
查看maxium上传文件大小
答案 1 :(得分:0)
我为此虚拟主机更改了10000000的值并重新启动了服务器。 它似乎是固定的。感谢您的帮助,让我来检查错误日志。