【问题标题】:issue while uploading a file and getting $_FILE['tmp_name'] as blank上传文件并将 $_FILE['tmp_name'] 设为空白时出现问题
【发布时间】:2016-01-11 21:50:55
【问题描述】:

我正在上传一个大小约为 20MB 的文件,下面是 print_r($_FILES); 的结果

  (
        [name] => 10k.csv
        [type] => 
        [tmp_name] => 
        [error] => 1
        [size] => 0
    )

我还将 php.ini 中的上传大小增加到 upload_max_filesize=64M 然后也无法上传文件。请提出我可能遗漏的要点。

【问题讨论】:

  • 我们可以看看你的表格吗?你在那里设置了文件大小吗?
  • 您的php.ini 中的post_max_size 值是多少?
  • 没有没有在上传表单中设置文件大小...虽然我在 php.ini 中增强了上传大小,但我也希望您帮助我了解在表单和上传中增强文件大小的区别通过 ini 调整大小
  • 阅读this
  • post_max_size 需要 >= upload_max_filesize

标签: php


【解决方案1】:

[error] => 1 行告诉您上传时出错。

PHP“错误消息解释”文档说明如下...

值:1;上传的文件超过了 php.ini 中的 upload_max_filesize 指令。

你需要增加upload_max_filesize。

您可以在 PHP.INI 中设置 upload_max_filesize 或将以下内容添加到您的 .htaccess 文件中。

php_value upload_max_filesize 30M
php_value post_max_size 30M

http://php.net/manual/en/features.file-upload.errors.php

【讨论】:

  • 只是追加:确保在进行更改时重新加载 php.ini 文件
  • 尝试重新加载但重新加载时出错:未知作业:php.ini while doing...reload php.ini
  • 你能上传更小的文件吗,也许是文本文件?你重启过 Apache 吗?
【解决方案2】:

将您的 post_max_sizeupload_max_filesize 全部更改为 64M

【讨论】:

  • 已完成,但输出与之前相同([name] => 10k.csv [type] => [tmp_name] => [error] => 1 [size] => 0)
  • @abhinavBruteForce 你重启你的apache了吗?尝试输出您的 phpinfo() 以仔细检查您的设置。
  • @abhinavBruteForce 如果此答案解决了问题,您应该将其标记为已接受的答案。
【解决方案3】:

在 php.ini 中修改为

upload_max_filesize = 64M
post_max_size = 64M

重新加载 apache 或者如果是暂存环境重新启动 apache。您将成功上传增加大小的文件。感谢 zairwolf,感谢您的全部功劳。

【讨论】:

    猜你喜欢
    • 2016-04-16
    • 2016-11-10
    • 2014-06-18
    • 2015-08-02
    • 1970-01-01
    • 2022-01-07
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多