【问题标题】:PHP unlink file from root-relative pathPHP从根相对路径取消链接文件
【发布时间】:2014-08-25 21:38:10
【问题描述】:

我的脚本在http://localhost/path/test/index.php,我要删除的文件在http://localhost/path/media/test.txt。

我想将项目的路径设为常量PATH,在本例中为path/。于是我用root相对路径unlink("/" . PATH . "media/test.txt")试了一下,还是不行。

任何想法如何解决这个路径问题?

【问题讨论】:

  • 磁盘上的目录结构是否与 URL 结构匹配?如果是这样:unlink('../media/text.txt')
  • "/" . PATH . "media/test.txt" 不是根相关的,至少如果“根”是指“Web 服务器文档根”。该路径是绝对的(就像文件系统中的绝对路径一样)。
  • web url 与文件系统路径几乎没有关系。你不能用一个代替另一个。

标签: php unlink


【解决方案1】:

通过在取消链接的开头放置 /,您是在告诉 PHP 从服务器文件系统的根目录中删除,该文件系统不太可能与您的 localhost 位于同一文件夹(可能是 /var/www/)

理想情况下,在 Web 应用程序中,您应该在文件系统中定义应用程序的根目录,例如:

$root = '/var/www/sites/project/';

然后你可以像这样取消链接:

unlink( $root . "media/test.txt" );

或者,您可以通过相对路径而不是绝对路径取消链接(如上:)

unlink( '../media/test.txt' );

要获取您的根,请参阅:this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多