【问题标题】:php upload file with custom upload_tmp_dir使用自定义upload_tmp_dir的php上传文件
【发布时间】:2014-03-22 00:37:44
【问题描述】:

我想在 POST 中使用 php 和 xmlhttprequest 将文件上传到我的服务器。

但是我的 /tmp 目录太小了,所以我创建了一个新的 tmp 文件夹用于上传,具有 777 访问权限,并且我更改了 vhost conf 文件以将 upload_tmp_dir 设置为该文件夹的路径。

如果我显示 phpinfo,此文件夹将显示为 upload_tmp_dir。

但是当我上传文件时,新的 tmp 文件夹中没有任何内容,但我可以在 /tmp 中看到这种类型的文件:20140321-165951-Uyxh938AAQEAACcDEeEAAAAC-request_body-uW4YRM

我该怎么做才能让 php 上传以使用我创建的 tmp 文件夹?

非常感谢您的帮助

【问题讨论】:

  • 可能太明显了,但是你改完后重启了Apache吗?
  • 我之前还要提到@BarryDevSF
  • See this answer 这可能会有所帮助。
  • This Q&A 也可以解释一下。我引用给出的答案:“PHP 将在脚本退出时删除上传的文件,除非您自己将文件移动/复制到其他地方。上传过程不是“现在做,稍后再回来处理它”系统。它是“现在处理它,或者它消失了”。”
  • 是的,我重新启动了 apache 服务器。在我的 php 页面中,我使用 move_uploaded_file($_FILES["myfile"]["tmp_name"],$sNewPath);

标签: php file-upload


【解决方案1】:

要将你的文件上传到 tmp 文件夹,你应该使用这个

file_put_contents(sys_get_temp_dir().'/file.txt', 'content');

【讨论】:

  • 我的目标不是在 tmp 目录中上传内容。我正在使用html表单在服务器上上传文件,但是这个服务器上的tmp文件夹太小,我想使用其他文件夹作为php上传tmp目录,但它不起作用。
  • 可能是您的设置错误或者您的新 upload_folder 位置错误,试试这个:upload_tmp_dir = /root/tmp/upload 您的站点位置- /root/www/
猜你喜欢
  • 2013-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-28
  • 1970-01-01
相关资源
最近更新 更多