我有以下php脚本
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
?>
任何人都可以帮助它上传大于100 Kb的pdf文件吗?
我已经检查过我的托管服务提供商,那里的一切都是正确的,我还检查了phpinfo(),其中指出应该允许上传到8 Mb
任何人都可以帮我指出正确的方向来解决这个问题,我的托管服务提供商建议我创建一个php.ini文件,但是想要命令是否需要包含以允许上传?
感谢您的帮助
答案 0 :(得分:7)
这里有一个小技巧,您可以使用它来使用表单的文件字段和PHP中的move_uploaded_file()函数上传这么大的文件。
1)在Web服务器的根文件夹中创建.htaccess文件。
2)将以下代码放在.htaccess文件的旁边并保存。
php_value upload_max_filesize 8M
php_value post_max_size 8M
php_value max_execution_time 200
php_value max_input_time 200
现在,您可以使用html表单中的文件字段和PHP中提供的move_uploaded_file()函数以简单的方式将文件大小上传到8MB。
答案 1 :(得分:2)
对于1Mb。
在你当地的php.ini:
upload_max_filesize = 1M
post_max_size = 1M
如果不起作用,请添加到根目录中的.htaccess文件。
php_value upload_max_filesize 1M
php_value post_max_size 1M
答案 2 :(得分:2)
首先尝试Query Master的响应 - 这应该保证设置正确。如果这不能解决问题,那么,如果您收到500错误,则需要检查错误日志以找出问题的真正原因。
如果您无法检查错误日志,请在PHP文件的顶部添加
error_reporting(E_ALL);
ini_set('display_errors', 'on');
这将把问题告诉你。
请记住为实时应用程序删除这些行(您不应向最终用户显示错误,因为它会显示可能被利用的漏洞)。