【发布时间】:2021-11-06 17:35:51
【问题描述】:
__DIR__ 给了我/opt/lampp/htdocs/folder。因为那确实是我的 Linux 文件系统位置,所以它不会使用 header('LOCATION:'.__DIR__.'/file.php'); 重定向。我怎样才能做到__DIR__ 不会一直到我的 Linux 根目录,而是转到更像 localhost/folder 的东西?我猜这是某种配置的东西,但我不知道。
我想这样做的原因是我可以设置一个const,我可以根据未来客户端放置我的 PHP 的位置来使用它进行重定向。
【问题讨论】:
-
类似
header('Location: /folder/file.php');? -
我可以不这样使用
__DIR__吗?它仅用于包含和需要的东西吗?我可以忍受,但我想知道是否有办法做到这一点。 -
这就是
__DIR__会做的——给出完整的路径~ 不是很适合你的目的,但在几种情况下很有用,而不仅仅是includes -
... 这也将为您提供文件系统路径 - 也不适合您的情况。我更多地考虑
$_SERVER['SERVER_NAME']、$_SERVER['SERVER_PROTOCOL']之类的思路 -
现在似乎有什么问题?你想达到什么目的?如前所述,您不能使用
__DIR__或$_SERVER['DOCUMENT_ROOT']进行重定向。你可以使用类似header('Location: /folder/file.php');的东西重定向到http://localhost:8000/folder/file.php,因为http://localhost:8000是你的服务器。