我正在为我的公司构建本地Web应用程序,而我正试图在xampp网络服务器中运行它。我的问题是我想设置我的根文件夹一次,并在我的所有文件中引用它。
例如,我的文件夹结构如下:
root/index.php
root/include/includefiles.php
root/reles/ajustes/ajustes.php
root/classes/html/menu.php
root/classes/html/rodape.php
root/img/head.png
我的所有文件都必须包含文件menu.php和rodape.php
使用相对路径我会"include ../../classes/html/menu.php"
和"../classes/html/menu.php"
直到它没关系,但在我的menu.php文件中,我有一个指向其他文件的链接,我无法利用相对路径链接到它,因为在index.php链接将是{{1并且在ajustes.php将是" "/img/head.png"
我的解决方案是定义根路径,然后将所有相对路径链接到../../img/head.png"
我找到了一些有效的解决方案。当我尝试从外部访问我的应用程序,使用我的主机IP地址从另一台计算机访问我的问题时出现我的问题,我可以访问我的网站,但链接显示为ROOT_PATH."/img/head.png".
,我不想要,我想要链接显示为"c:/xampp/htdocs..."
。
答案 0 :(得分:1)
定义包含路径的一个好方法是在包含路径之前添加__DIR__
魔术常量。这样,路径总是相对于当前文件的目录而不是工作目录来定义。
您应该为公共网址和内部服务器路径设置不同的根路径。所以我建议使用__DIR__
for includes和其他内部服务器路径以及另一个在html和其他公共路径中使用的常量。
编辑:澄清:内部服务器路径是服务器上的实际路径(www_root / foo / bar),公共路径是服务器软件通过http(http://example.com/foo/bar)提供的路径