PHP unlink()打破了file_exists,header和echo函数?

时间:2012-08-21 23:01:34

标签: php

我有以下代码:

$tmpfile = $tempDirectory . $file ;

if (file_exists($tmpfile)) {

   header('Location: <some location>');

}

它完美无瑕,文件存在,我被重定向到我的新页面。

所以,现在我知道该文件存在且有效。所以,我进入FTP,确保文件存在。

然后我运行这段代码:

$tmpfile = $tempDirectory . $file ;

if (file_exists($tmpfile)) {

   unlink($tmpfile);
   header('Location: <some location>');

}

重定向停止工作。 PHP没有输出。该文件将从FTP目录中删除。但重定向完全失败。

如果我在if语句中放入echo,当存在取消链接时(在if语句中的任何其他代码行之前或之后,它都不输出任何内容。

没有取消链接错误,当我检查FTP时文件被清楚地删除了,那么这里发生了什么?

代码运行时会被删除,因此显然不是权限问题。如果文件没有权限,它将无法删除该文件。

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

解决方案可能很简单:

[blank space] - this breaks redirect
<?php

// code

PHP也可能在取消链接时崩溃。确保您的error_reporint setting设置为E_ALL。