1

我有以下 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 文件,但是想要它需要包含允许上传的命令吗?

谢谢你的帮助

4

3 回答 3

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 的文件。

于 2012-05-23T13:47:18.063 回答
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
于 2012-05-23T13:47:43.523 回答
2

首先尝试 Query Master 的响应 - 这应该可以保证设置是正确的。如果这不能解决问题,那么,如果您收到 500 错误,则需要检查错误日志以找出问题的实际原因。

如果您无法检查错误日志,请在 PHP 文件的顶部添加

error_reporting(E_ALL);
ini_set('display_errors', 'on');

这会将问题归还给您。

请记住删除实时应用程序的这些行(您不应该向最终用户透露错误,因为它展示了可能被利用的弱点)。

于 2012-05-23T13:49:41.837 回答