PHP tmpfile()返回false

时间:2011-06-07 15:39:40

标签: php file-upload upload temporary-files

我有一个以前正在运行的图片上传脚本。它现在已经坏了,我已将问题追溯到一行:

$temp = tmpfile();
// $temp === false

tmpfile()函数返回false。我似乎无法弄清楚为什么。在这个问题上,我很难通过谷歌。

该脚本仅在我的本地测试环境OSX 10.6.7上运行,运行MAMP 1.9.5。幸运的是,现场工作正常。

4 个答案:

答案 0 :(得分:11)

tmpfile()如果无法创建临时文件,则返回false。确保您的tmp文件夹是可写的,并尝试检查sys_get_temp_dir()函数返回的内容。

答案 1 :(得分:3)

这可能是权限问题。 使用sys_get_temp_dir()查看临时文件的创建位置,并确保php有权在那里写入。

答案 2 :(得分:0)

首先,启用所有PHP警告以查看它是否告诉您某事。

其次,检查您的临时文件夹并确保PHP具有写入权限。某些“安全模式”限制(基础目录等)可能会阻止访问。

答案 3 :(得分:0)

在我的情况下,它尝试创建文件的文件夹的临时文件一直到tmpFFFF.tmp。将这些临时文件从文件夹中移出后,它从tmp1.tmp开始。