【发布时间】:2012-08-17 08:28:44
【问题描述】:
我有以下代码:
$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 语句中的任何其他代码行之前或之后,它不会输出任何内容。
没有unlink错误,而且我检查FTP的时候明显删除了文件,这是怎么回事?
代码运行时会被删除,所以显然不是权限问题。如果没有权限,它将无法删除该文件。
感谢任何帮助。谢谢!
【问题讨论】:
-
代码
if (file_exists($tmpfile) == TRUE) {可以替换为if (file_exists($tmpfile))。无需针对true进行显式测试。 -
文件不再存在,所以不会有重定向,它永远不会进入条件
-
致乔斯林:我明白这一点。我来自 C++ 背景,此代码最初采用您提供的格式。我只是为了清楚起见。
-
致 Ibu:文件没有被删除。我不会在另一个之后运行它们。我进行了两个单独的案例测试。即使我一个接一个地做了,第一个 if 语句不包含取消链接,如何删除文件?
标签: php