【发布时间】:2010-12-21 15:09:39
【问题描述】:
我有一个非常基本的上传脚本,可能直接从 php.net/move_upload_files 功能页面中提取出来。
move_uploaded_file() 失败,因为它在 tmp 文件夹中找不到 tmp 文件。但我知道它被放在那里,但在move_upload_file() 可以在我的脚本中处理它之前被删除。我知道它被放在那里,因为当一个大文件被发布到服务器时,我可以在其中看到一个文件。
还有$_FILES包含我刚刚上传的文件的正确详细信息。
有没有人知道为什么在我有机会处理临时文件之前从 /tmp 中删除它?
这是我正在使用的基本代码。
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_file))
{
$result['error'] = 'false';
$result['file_loc'] = $upload_file;
}
else
{
$result['error'] = 'true';
}
print_r($_FILES) 的输出看起来像
[userfile] => Array
(
[name] => switchsolo.png
[type] => image/png
[tmp_name] => /tmp/phpIyKRl5
[error] => 0
[size] => 6690
)
但是 /tmp/phpIyKRl5 根本不存在。
【问题讨论】:
-
请张贴您的 HTML 表单。我认为问题出在您的 HTML 中。
-
move_uploaded_file() 给你的确切信息是什么?
-
请从您的错误日志中发布消息
-
您是否检查过您传递给
move_uploaded_file()的目标文件夹位置?也许它已经移动在那里了,为什么要检查临时位置? -
我已经解决了这个问题,我是个白痴,我把目标文件的路径弄错了,我用棍子打了自己,还戴了一块夹心板,说我是个混蛋,很抱歉浪费大家的时间。
标签: php file upload file-upload