【问题标题】:Define a temporary dir under www to upload files在www下定义一个临时目录来上传文件
【发布时间】:2013-02-02 18:49:40
【问题描述】:

我正在尝试将文件上传到 apache public_html 目录。 好吧,我相信值得一提的是,我正在一个虚拟主机环境中运行,该环境在具有几个域和子域的 VPS 上运行。

通常在我的 XAMPP 服务器上,我将文件加载到临时文件夹不会有任何问题,但在新服务器上尝试上传时它不可能给我一个错误。

我检查了超全局 $_FILES 并收到此错误:

array(1) { ["file"]=> array(5) { ["name"]=> string(9) "test.gif" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(1) ["size"]=> int(0) } }

我尝试使用 get_init('/tmp') 在服务器上设置一个 tmp 文件夹,但没有成功。

非常感谢您的关注。

【问题讨论】:

  • 你有an error
  • 这个错误是指上传的文件超过了php.ini中的upload_max_filesize指令,我要上传的文件小于1M!可能出了什么问题?
  • 那个错误实际上是一个库依赖......无论哪种方式都很有趣,代码错误与文件大小有关!?!奇怪...

标签: php


【解决方案1】:

显然我无法在我的 VPS 上设置新的临时文件夹来上传文件。

我尝试了什么:

使用 ini_set('upload_tmp_dir', '/tmp'); 设置一个新的临时文件夹没有任何成功! 那是什么原因呢?答:没有权限。

因此,在使用 ini_set() 之前,请确保您有权限制作它,否则它不会影响 php 引擎的行为。

无论如何,如果不设置临时文件夹,PHP 会默认使用 /tmp。 总之,如果您不设置新的临时文件夹,上传文件不会有问题。 您可能还有其他与文件大小有关的问题。检查 file_uploads -> ON、upload_max_filesize、max_file_uploads 的 php 信息,您可以在 upload_tmp_dir 设置一个新的临时文件夹,但肯定不会有问题。

如果您仍然无法上传文件,则可能是库依赖项存在问题。我的建议是确保您使用的所有功能都安装在服务器上,例如 GD 库,尤其是在您尝试处理图像时。

您可以通过创建一个带有 php 扩展名的新文件并在 php 标签之间使用函数来检查 php 信息:phpinfo();

注意:您可以在 php.ini 中或使用 ini_set() 函数进行上述所有更改。

我的服务器问题是 GD 库!!!

这就是我的 10 美分贡献。 我希望它可以帮助某人:)

【讨论】:

    猜你喜欢
    • 2017-12-22
    • 2013-01-31
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 2016-08-02
    • 2017-10-30
    • 2021-04-04
    • 2021-07-19
    相关资源
    最近更新 更多