【问题标题】:move_uploaded_file() -- file uploaded but not in tmp?move_uploaded_file() -- 文件上传但不在 tmp 中?
【发布时间】:2016-01-20 15:00:31
【问题描述】:

在搜索错误时,为什么我的文件上传不起作用我制作了一个 php 文件,它输出了 $_FILES-array

name:"anerkennung.jpg", type:"image/jpeg", tmp_name:"/tmp/phpMnQVBT", error:0, size:79244

当我查看 tmp/-文件夹时.. 文件在那里(!)

这可能是什么问题?顺便提一句。我还能尝试什么?

我只是想做一个简单的move_uploaded_file()

【问题讨论】:

  • 该文件在脚本执行期间一直存在......您需要将文件 tmp_name 值移动到永久位置才能查看它。

标签: php file-upload tmp


【解决方案1】:

脚本执行完毕后,tmp 文件不存在 - 这就是 tmp 文件夹的用途!

您需要在 PHP 脚本中使用 move_uploaded_file() 移动文件:

$temp = $_FILES["tmp_name"];
$newlocation = "./uploads/myfile.jpeg";

if(move_uploaded_file($temp, $newlocation)){
    //File was successfully moved!
}

【讨论】:

  • 但是当我在服务器端做一个简单的print_r($_FILES); 时.. 没有任何 move_uploaded_file.. 文件应该在 tmp 文件夹中.. 不应该吗?
  • 仅在PHP 脚本期间。这就是为什么您需要在该代码中移动上传的文件,因为一旦脚本完成,该文件将不再存在!
  • 好的,我已经做了一个 move_uploaded_file(),它说没有错误,to.. 但是文件不存在
  • 文件是否移动到您指定的位置?将$newlocation 变量更改为您可以检查的位置!
  • 我已经尝试了我能想象到的一切.. 绝对路径,相对路径.. 带有 / .. 不带 / .. 带 ./.. ans 等等.. 当我制作 sleep(30)在我的 PHP 脚本中,我可以在 tmp-Folder 中看到该文件.. 但是它消失了.. 它既不是由 copy() 也不是由 move_uploaded_file() 复制的 .. move_uploaded_file() 有它自己的错误处理..说一切都很好..但不是:/
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-14
  • 2016-03-11
  • 2012-03-05
  • 2023-01-22
  • 1970-01-01
  • 2014-01-28
相关资源
最近更新 更多