PHP-unlink()可用于直接路径,但不是必需的路径

PHP-unlink()可用于直接路径,但不是必需的路径,php,directory,require,unlink,Php,Directory,Require,Unlink,我正在使用unlink()从目录中删除PDF文件。在这种情况下,文件名存储在变量中,即$fileName。我已经测试过,以确保变量中的文件名与目录中的文件名匹配 出于某种原因,它使用的是直接路径,但不是必需的路径。例如: 工作: unlink('C:/xampp/htdocs/wordpress/wp-content/uploads/sample_dir/' . $fileName); unlink(require_once __DIR__ . '/../../uploads/sample_d

我正在使用unlink()从目录中删除PDF文件。在这种情况下,文件名存储在变量中,即$fileName。我已经测试过,以确保变量中的文件名与目录中的文件名匹配

出于某种原因,它使用的是直接路径,但不是必需的路径。例如:

工作:

unlink('C:/xampp/htdocs/wordpress/wp-content/uploads/sample_dir/' . $fileName);
unlink(require_once __DIR__ . '/../../uploads/sample_dir/' . $fileName);
不工作:

unlink('C:/xampp/htdocs/wordpress/wp-content/uploads/sample_dir/' . $fileName);
unlink(require_once __DIR__ . '/../../uploads/sample_dir/' . $fileName);

没有抛出错误,只是什么也不做。Oof.

我注意到你在使用Wordpress,所以请使用。

所以,这是试图通过文件返回的全部内容取消链接。请阅读
所需的内容(一旦
用于;)
require_once
如果成功,还将返回一个状态
1
,因此您实际上正在尝试
unlink(1)
假设最佳的senario…哦,哈哈。那么,在没有直接路径的情况下,如何删除此文件?我问这个问题是因为我看到很多人说$_SERVER['DOCUMENT_ROOT']不是一个好的选择。只需使用unlink(DIR./../uploads/sample_DIR/'.$fileName);'facepalms’非常有效,谢谢。谢谢你的回复,也很有效。我只是尝试使用尽可能少的硬编码路径。
unlink($_SERVER['DOCUMENT_ROOT'] . 'additional path to folder' . $fileName);