我正在努力使我的网络应用程序更具可移植性,但我却无法在子目录根目录中建立链接。
/ website - 让我们说这是我的网站目录。
/ inc - 那是我的包含页眉,页脚和最终我的目录 配置文件。
网站目录中的所有内容都可以正常工作。
我试图将我的页眉/页脚文件包含在..
的收据目录中 include("/website/inc/header.php");
但是我得到了..
警告:include(/website/inc/header.php):无法打开流:否 f:\ xampp \ htdocs \ website \ receipt \ index.php上的此类文件或目录 第8行
警告:include():无法打开' /website/inc/header.php'对于 包含(include_path ='。; F:\ xampp \ php \ PEAR')in 第8行的F:\ xampp \ htdocs \ website \ receipt \ index.php
在我的浏览器中。我尝试删除 / ,甚至添加 localhost 和htdocs
(这只是一次绝望的尝试,让它发挥作用)。我做错了什么,如何纠正?
答案 0 :(得分:0)
这是因为以/
开头的文件路径被视为从文件系统的根开始的文件路径。您有F:\
作为根,这就是为什么这样的目录不存在。
在您的情况下,您必须执行../../website/inc/header.php
之类的操作,但这取决于脚本所在的文件夹的位置。
PHP(但不是HTML!)适用于整个文件系统,而HTML仅适用于网站的主目录。
顺便说一下,Windows上不允许使用这样的文件路径,它们只能在类UNIX系统上使用。如果/
这样的构造在您的服务器上运行,那就很奇怪,因为Windows有\
作为路径分隔符。您的代码看起来像..\..\website\inc\header.php
。请注意,您可能需要通过添加另一个反斜杠来转义反斜杠,例如\\