我一直在尝试研究什么是更好的用途,以便包含网站的重复部分 - php include函数或库(在Dreamweaver中提供)。
或许还有其他 - 更好的方法可以达到相同的效果?
目前我使用php include和绝对路径。我从服务器下载了网站,但似乎服务器上运行的路径在我的localhost上不起作用。 为了使它们在两个服务器上都能工作而不必重新编写代码,编写路径的正确和最佳方法是什么?
由于
答案 0 :(得分:1)
您可以在脚本开头调用set_include_path()命令并指定库的相对路径
答案 1 :(得分:0)
由于Dream weaver使用库,这可能是错误的;)
如果您希望确定只在您使用require_once
后才包含该代码。
尝试相对路径而不是绝对路径
答案 2 :(得分:0)
解决此问题的一种简单方法是从根目录中定义一个常量,通常在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
,了解其网络根目录的正确路径。
所以你的旧包括:
include('/srv/www/somesite.com/public_html/somefile.php');
并且您的新包含将显示为include(SITE_ROOT.'/somefile.php');
,然后在Windows上开发时,路径将相应更改。
答案 3 :(得分:0)
把
include_path = ".:/your/absolute/path"
在你的php.ini中,包括Server环境和localhost。 然后,您可以在代码的任何位置访问包含路径文件。