我一直在尝试研究更好地使用什么来包含网站的重复部分 - php 包含函数或库(在 Dreamweaver 中提供)。
或者也许有其他更好的方法来达到同样的结果?
目前我使用 php 包含和绝对路径。我从服务器下载了网站,但似乎在服务器上工作的路径在我的本地主机上不起作用。为了使它们在两个服务器上都工作而不必重新编写代码,编写路径的正确和最佳方法是什么?
谢谢
您可以在脚本开头调用 set_include_path() 命令并指定库的相对路径
由于织梦者使用库,这可能是错误的;)
如果您想确保仅包含一次您可能会使用的代码require_once
。
尝试相对路径而不是绝对路径
解决这个问题的一个简单方法是在根目录中定义一个常量,通常在你的 index.php 文件中。
/**Path Environment**/
$root=pathinfo($_SERVER['SCRIPT_FILENAME']);
define ('BASE_FOLDER', basename($root['dirname']));
define ('SITE_ROOT', realpath(dirname(__FILE__)));
define ('SITE_URL', 'http://'.$_SERVER['HTTP_HOST'].'/'.BASE_FOLDER);
然后您可以使用,SITE_URL
并且SITE_ROOT
在整个脚本中都知道它到您的 Web 根目录的正确路径。
所以你的旧包括看起来像:
include('/srv/www/somesite.com/public_html/somefile.php');
并且您的新包含将看起来像include(SITE_ROOT.'/somefile.php');
在 Windows 上开发时,路径将相应更改。
放
include_path = ".:/your/absolute/path"
在您的 php.ini 中,包括服务器环境和本地主机。然后您可以在任何代码处访问包含路径文件。