0

我一直在尝试研究更好地使用什么来包含网站的重复部分 - php 包含函数或库(在 Dreamweaver 中提供)。

或者也许有其他更好的方法来达到同样的结果?

目前我使用 php 包含和绝对路径。我从服务器下载了网站,但似乎在服务器上工作的路径在我的本地主机上不起作用。为了使它们在两个服务器上都工作而不必重新编写代码,编写路径的正确和最佳方法是什么?

谢谢

4

4 回答 4

1

您可以在脚本开头调用 set_include_path() 命令并指定库的相对路径

http://www.php.net/set_include_path

于 2012-06-01T12:27:54.560 回答
0

由于织梦者使用库,这可能是错误的;)

如果您想确保仅包含一次您可能会使用的代码require_once

尝试相对路径而不是绝对路径

于 2012-06-01T12:28:03.693 回答
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在整个脚本中都知道它到您的 Web 根目录的正确路径。

所以你的旧包括看起来像:

include('/srv/www/somesite.com/public_html/somefile.php');

并且您的新包含将看起来像include(SITE_ROOT.'/somefile.php');在 Windows 上开发时,路径将相应更改。

于 2012-06-01T12:35:24.610 回答
0

include_path = ".:/your/absolute/path"

在您的 php.ini 中,包括服务器环境和本地主机。然后您可以在任何代码处访问包含路径文件。

于 2015-10-19T03:33:44.470 回答