我一直在寻找一种方法来查找PHP文件所在的文件夹的URL,而不管它可能位于何处(即它可以在任何文件夹中工作)。它应该可以在本地主机上或在生产环境中(在http或https上)工作。当文件当前位于folder-2
中时,以下是我提出的最接近的结果。它可以在localhost上运行,但不能在生产环境中使用。它会在服务器上的html
文件夹中拾取,而该文件夹在实际URL中不存在。
<?php echo (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https://" : "http://") . $_SERVER[HTTP_HOST] . substr(dirname(__FILE__), strlen($_SERVER['DOCUMENT_ROOT'])); ?>
本地主机URL:
http://localhost/my-site/folder-1/folder-2
生产网址:
http://www.my-site.com/html/folder-1/folder-2
实际生产网址应为:
http://www.my-site.com/folder-1/folder-2
还想知道是否有一个更短,更优雅的解决方案。