PHP网站开发中关于包含路径问题的解决方案_PHP教程
程序员文章站
2022-04-26 13:30:13
...
引言:
关于PERL与PHP中的包含路径一直是一个比较难解的问题,主要是与操作系统和WEB服务器有关,不可能非常智能化的解决这个路径问题。相对于PERL,PHP的路径好得多,解决起来也轻易得多,因为PHP的相对路径在PHP程序中的任何场合都可以使用,而不象PERL在某些语句中必须用绝对路径而导致移植的极其复杂。
基于此,在PHP中,我设计了一个绝对稳妥的解决方案,如下所述。
原则:
使用相对路径,但在相对路径中用绝对路径(有点绕,待会儿详解),一是可以保证可移植性,二是可以方便地修改,三是公式化且结构清楚明了,易于扩展。
步骤详解:
1、先确定好一个程序的根目录,注重是文件系统下的,不是WEB服务器下的虚拟目录,不过一般情况下该目录下的子目录的相对路径与URL下该目录的虚拟子目录是相同的。
2、在定义好的程序根目录下的每个子目录下(其实不一定是每个,根据需要)建立一个settings.php,里面定义一个变量或是常数(常数比较好,因为作用域比较大),如APPROOT,但这个APPROOT却不是绝对路径,而是该目录相对于你指定的程序根目录的相对路径。
3、在此目录下的所有程序入口文件(也即第一个包含其它文件的文件,或是答应直接在浏览器中浏览的文件)中第一句写上require_once('settings.php');,但要注重,所有被包含文件最好不要加此句
关于PERL与PHP中的包含路径一直是一个比较难解的问题,主要是与操作系统和WEB服务器有关,不可能非常智能化的解决这个路径问题。相对于PERL,PHP的路径好得多,解决起来也轻易得多,因为PHP的相对路径在PHP程序中的任何场合都可以使用,而不象PERL在某些语句中必须用绝对路径而导致移植的极其复杂。
基于此,在PHP中,我设计了一个绝对稳妥的解决方案,如下所述。
原则:
使用相对路径,但在相对路径中用绝对路径(有点绕,待会儿详解),一是可以保证可移植性,二是可以方便地修改,三是公式化且结构清楚明了,易于扩展。
步骤详解:
1、先确定好一个程序的根目录,注重是文件系统下的,不是WEB服务器下的虚拟目录,不过一般情况下该目录下的子目录的相对路径与URL下该目录的虚拟子目录是相同的。
2、在定义好的程序根目录下的每个子目录下(其实不一定是每个,根据需要)建立一个settings.php,里面定义一个变量或是常数(常数比较好,因为作用域比较大),如APPROOT,但这个APPROOT却不是绝对路径,而是该目录相对于你指定的程序根目录的相对路径。
3、在此目录下的所有程序入口文件(也即第一个包含其它文件的文件,或是答应直接在浏览器中浏览的文件)中第一句写上require_once('settings.php');,但要注重,所有被包含文件最好不要加此句
推荐阅读
-
PHP脚本编写在网站开发中的作用解析_PHP教程
-
PHP动态网站制作中关于文件操作的疑难问答_PHP教程
-
关于Apache默认编码错误,导致网站乱码的解决方案,apache编码_PHP教程
-
php中关于抽象(abstract)类和抽象方法的问题分析_PHP教程
-
深入解读php中关于抽象(abstract)类和抽象方法的问题分析_PHP教程
-
《php和mysql web开发(原书第三版)》中创建CMS系统例子关于mysql的出错问题?
-
PHP程序开发中的中文编码问题(1)_PHP教程
-
PHP动态网站制作中关于文件操作的疑难问答_PHP教程
-
《php和mysql web开发(原书第三版)》中创建CMS系统例子关于mysql的出错问题?
-
php中的路径问题与set_include_path_PHP教程