Php 上传-8MB以下的文件工作,更大的don';T
我正在使用uploadify v.3.2,这也是我在一个老项目中使用的,在那里它工作得很好 但现在我正试图在另一台服务器上上传高达500MB的文件。但是脚本只上传高达7.9 MB的文件 我的php信息告诉我们: 上传最大文件大小512M 立柱最大尺寸512M 这是我在HTML模板中使用的脚本:Php 上传-8MB以下的文件工作,更大的don';T,php,uploadify,Php,Uploadify,我正在使用uploadify v.3.2,这也是我在一个老项目中使用的,在那里它工作得很好 但现在我正试图在另一台服务器上上传高达500MB的文件。但是脚本只上传高达7.9 MB的文件 我的php信息告诉我们: 上传最大文件大小512M 立柱最大尺寸512M 这是我在HTML模板中使用的脚本: $(function() { $('#data').uploadify({ 'formData' : {
$(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配置似乎很好……有人有什么技巧吗
干杯 将文件大小限制设置为一个选项:
'fileSizeLimit':'500MB',
$(function() {
$('#data').uploadify({
...
'fileSizeLimit' : '500MB', // added this, set to whatever value you like
...
});
});
然后将此添加到主.htaccess
文件中,以覆盖服务器上的任何默认限制(包括覆盖php.ini
文件):
如果您收到500-内部服务器错误,则可能意味着您没有权限通过.htaccess
设置这些值。您必须联系您的web服务器提供商。让他们允许您设置AllowOverride
选项
选项B:
创建一个php.ini
文件,并将其存储在与.htaccess
文件相同的根目录中。把上面的两行加起来,看看效果如何。如果使用最后一种方法得到500个内部
错误,这可能也不起作用。但是您可以试试。您是否尝试使用phpinfo()查看您的php.ini设置是否已实际加载代码>?查看加载了哪个php.ini
文件
最后,根据我的经验,如果加载了正确的php.ini文件,但没有出现更改,请尝试重新安装php,作为最后的手段
希望这有帮助 谢谢你的回复…我已经试过了,但没有成功…脚本上写着“上传成功”,但文件夹中没有文件(除非大于7.9MB)是这个Wordpress网站吗?将这些行添加到.htaccess会导致错误500…也许一个链接可能会有帮助。。。顺便说一句,谢谢你的帮助!我已经有了一个php.ini文件,它增加了post_max_文件大小和upload_max_文件大小…如果没有这个,我不会在每个设置中都有512MB。请联系您的服务提供商…我假设您使用的是共享托管帐户。这是他们将为你解决的问题。请说明我在回答中所写的内容,以便顺利过渡。:)你能把uploadify从等式中去掉,用一个基本的HTML表单进行测试吗?这将决定它是否是您的php配置。嗨…不知道您的帖子是什么意思吗?对不起…你能建立一个非常基本的HTML表单,将你的500MB文件上传到服务器上吗?一个非常简单的教程:这将确保您的php安装确实设置为处理假定的512M限制。我在一些地方看到了奇怪的覆盖,虽然php报告了正确的上传限制,但php.ini文件没有得到尊重。啊,我明白了……我会试试的!这似乎是工作…上传后没有错误…但我们没有告诉哪里保存文件,所以我找不到我的测试文件任何地方…thx kxc1013!我的php.ini设置正在运行,在那里我告诉服务器增加upload_max_文件大小和post_max_文件大小,我的php信息告诉我这些设置已经完成
php_value upload_max_filesize 500M
php_value post_max_size 500M