我正在使用uploadify v.3.2,我在一个较旧的项目中使用过,它工作得很好!
但是现在我正在尝试在另一台服务器上上传高达500 MB的文件。但该脚本仅上传最高7.9 MB的文件......
我的php-info告诉:
upload_max_filesize 512M
post_max_size 512M
这是我在HTML-Template中使用的脚本:
$(function() {
$('#data').uploadify({
'formData' : {
'timestamp' : '1349443065',
'token' : '94a031393fe2f786fdfc14c0cd432204'
},
'swf' : './includes/uploadify.swf',
'uploader' : './includes/uploadify.php',
'buttonText' : 'choose file',
'onUploadSuccess' : function(file, data, response) {
alert('Die Datei ' + file.name + ' wurde erfolgreich hochgeladen!'); },
'checkExisting' : './includes/check-exists.php'
});
});
这是uploadify.php的代码:
// Define a destination
$targetFolder = '/upload'; // Relative to the root
$verifyToken = md5('unique_salt' . $_POST['timestamp']);
if (!empty($_FILES) && $_POST['token'] == $verifyToken) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
$targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];
// Validate the file type
$fileTypes = array('zip','rar','sit'); // File extensions
$fileParts = pathinfo($_FILES['Filedata']['name']);
$dateiname = $targetFile;
$ersetzen = '/homepages/37/d24392003/htdocs/modx/upload/';
$dateiname = str_replace($ersetzen, "", $dateiname);
if (in_array($fileParts['extension'],$fileTypes)) {
move_uploaded_file($tempFile,$targetFile);
mail('123@abc.com', 'Dateiupload', "Es wurde eine neue Datei hochgeladen\n\nDateiname: $dateiname", "from:123@abc.de");
} else {
echo 'Invalid file type.';
}
}
所以脚本工作,php配置似乎很好......任何人都有什么tipps怎么办?
干杯!
答案 0 :(得分:1)
将文件大小限制设置为选项:'fileSizeLimit' : '500MB',
$(function() {
$('#data').uploadify({
...
'fileSizeLimit' : '500MB', // added this, set to whatever value you like
...
});
});
然后将此添加到您的主.htaccess
文件中,以覆盖服务器上的所有默认限制(包括覆盖您的php.ini
文件):
php_value upload_max_filesize 500M
php_value post_max_size 500M
如果您 500 - Internal Server Error
,则可能意味着您无权按.htaccess
设置这些值。您必须与您的Web服务器提供商联系。请他们允许您设置AllowOverride
选项。
选项B:
创建php.ini
文件,并将其存储在与.htaccess
文件相同的根目录中。添加上面的两行,看看是否有效。如果您使用最后一个方法收到500 Internal
错误,这可能也不起作用。但你可以试试。
答案 1 :(得分:0)
您是否尝试使用phpinfo();
查看您的php.ini设置是否已实际加载?查看加载了哪个php.ini
文件。
最后,根据我的经验,如果加载了正确的php.ini文件但没有出现更改,请尝试重新安装PHP,作为最后的手段。
希望这有帮助!