我希望index.php
包含位于footer.html
文件夹中的include
文件,该文件位于index.php
所在的同一文件夹中。
我注意到如果我使用它将不起作用:
<?php include '/include/footer.html'; >
我会得到:
警告:include(/include/footer.html):无法打开流:没有
中的文件或目录
只有在我使用时才会有效:
<?php include 'include/footer.html'; >
这很令人困惑,因为与此同时,我确实使用第一种形式来包含脚本和图像:
<script src="/js/script.js"></script>
<img src="/images/logo.jpg">
顺便说一句,将所有包含的文件集中在指定的文件夹中会更好吗?
答案 0 :(得分:1)
令人困惑的是,PHP include()
根据服务器本身的物理文件路径查找文件。它与您的网址无关。
你可以这样做:
<?php include './include/footer.html'; >
或者:
<?php include 'include/footer.html'; >
或者:
<?php include __DIR__ . '/include/footer.html'; >
如果您<?php echo __DIR__ . '/include/footer.html'; ?>
,您会在磁盘上看到footer.html
的完整路径。在Linux / UNIX系统上,/
是系统的根目录,因此当您使用/include/footer.html
时,它正在系统的根目录中查找名为include
的目录,以及footer.html
在它里面。}