我有一个使用 php、html 和 css 的网站。由于某些内容会在页面上重复多次,因此我创建了一个单独的文件,其中包含重复的代码。然后我使用
从我需要的所有页面引用这个文件require('page.html')
现在的问题是我在文件夹和子文件夹中有页面,如果我引用上面的页面,它不会显示内容,因为它再也找不到“page.html”。我通过将其更改为来解决此问题:
require('../page.html')
然而,这还不够,因为“page.html”上的许多内容现在使用的路径不再像图像一样有效。有一个更好的方法吗?还是我必须忍受一个包含 50 个文件的文件夹以避免重复代码?
提前致谢。
最佳答案
只需在脚本的开头使用 set_include_path
( http://de2.php.net/set_include_path ) 并将路径设置为包含文件所在的目录。
示例:您使用 index.php
作为应用程序的入口点,它位于 /var/www/yoursite/web
,您想要的文件将(例如 page.html
)包含在 /var/www/yoursite/lib
中,然后只需将以下内容添加到您的 index.php
:
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '../lib/');
在您的文件中,您要包含必须执行的 page.html
:
include('page.html');
就是这样:)
关于php - php require 和文件路径的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21649487/