尝试使用unlink('filename')
删除PHP中的文件时遇到问题。
我尝试过一个复杂的文件但它没有用。我一直在使用相对路径作为其他帖子的建议。
所以我使最简单的脚本成为可能:
<?php
unlink("acs.gif");
?>
该脚本与我的asc.gif
位于同一文件夹中,但它仍无法正常工作。
我没有致命错误,并在启用error_reporting()
和init_set()
时发出警告。但文件仍然存在。
我尝试将我的文件夹,我的图片和我的脚本的权限设置为0777
,但它没有帮助。
我对发生的事情感到很困惑。
你们有什么想法吗?
答案 0 :(得分:3)
我建议你使用absulte文件路径。如果你想要删除一个在被调用脚本的同一目录中的文件,应该使用poleteaw应答(除了缺少/在路径中):
unlink(__DIR__ . '/' . $filename);
然而,看一下php的目录函数realpath()和predefined constants。
那么如果你想删除一个不在你目录中的文件怎么办:
realpath(__DIR__ . '/../../')
之类的操作来进入项目的根目录。$filesDir = '/path/to/my/files'
。使用这种方法,您有两个胜利:您的用户文件不会驻留在您的php项目文件中,您可以更好地了解上载/管理哪些文件。答案 1 :(得分:1)
您不应该使用相对路径来存档。如果它与PHP脚本位于同一文件夹中,请使用unlink(__DIR__ . '/' . $filename);
。在其他情况下,设置unlink
的完整路径。