我想在我的 apache 虚拟服务器上使用 __DIR__
,但它使用系统地址 ( C:'xampp'htdocs'virtual'file.php
),有没有办法使用服务器的地址(/file.php
或 http://virtual/file.php
)?
谢谢你的帮助
编辑:
感谢您的回答,但我想在其他地方包含file.php
,所以我不能使用$_SERVER['REQUEST_URI']
.还有别的办法吗?
__DIR__
将为您提供使用它的文件文件夹的文件系统路径。文件系统位置和 URL 可能完全不相关,具体取决于您的 HTTP 服务器配置。
如果您想了解有关客户端请求的地址的信息,则可以使用 $_SERVER['REQUEST_URI']
。
你必须使用 $_SERVER['REQUEST_URI']
不 __DIR__
检查此链接在此处输入链接说明
__DIR__ 文件的目录。如果在包含中使用,则返回包含文件的目录。这等效于 dirname(__FILE__)。此目录名称没有尾部斜杠,除非它是根目录。
所以你必须使用目录(__FILE__)
__DIR__
为您提供完整的绝对文件系统路径。你应该使用这个:
dirname($_SERVER['SCRIPT_NAME']);