当前位置:编程学习 > php >>

php 相对路径请教达人

网页路径是这样的

C:盘> php目录> htdocs目录 > test 目录 > php代码

--------------

php代码是这样的

<?php
$db = sqlite_open("\db.sqlite");

?>

-----------

但是该代码会在 c:下建立 db.sqlite

我的理解这段代码 应该在htdocs目录下建立db.sqlite文件,

" \ "应该指的是web目录根。

这里却以c盘根为准。请问这样怎么处理!!

追问:试了一下,不管是 \  还是/   都会在c盘根下面生成文件

答案:
"/" 虚拟路径用反斜杠
不懂php 不过帮你搜了点资料 希望对你有帮助

采用公用文件定义路径的方式,这也是我常使用的方式,在我的应用中定义一个path.php文件,在文件中定义当前应用的全局路径变量 $ROOT_PATH,所有的应用文件都调用和包含path.php文件,这个文件可以放到php.ini的include_path设置的目录下,也可以放到系统根 /下,也可以放到任何地方,只要的相对固定的,建议放到include_path定义的目录下,path.php文件根据当前访问的页面相对的PHP_SELF值取得路径信息,然后通过计算的方式得出到网站相对根目录的相对路径,下面是我的path.php文件的计算$ROOT_PATH值的方式:
/**
* 获取当前文件同指定网站相对根目录的目录层数 $ROOT_PATH
* $ROOT_PATH 变量值末尾包含了路径的"/"符号,在引用时不要再加"/"
* example: $ROOT_PATH."images/logo.gif"
*/
$_self_path = ($_SERVER['PHP_SELF']) == "" ? $_SERVER['REQUEST_URI'] : ($_SERVER['PHP_SELF']) ;
$_path_array = explode("/",$_self_path);
$_path_count = count($_path_array);
$ROOT_PATH = "";
for ($i=0;$i<$_path_count-2;$i++)
{
$ROOT_PATH = '../'.$ROOT_PATH;
}

这个$ROOT_PATH可以在系统任何地方使用,只需要在后面跟上目标文件相对网站目录根的相对路径即可,比如 $ROOT_PATH.'/images/test.gif'

当然上面的方法现在看来,已经显得过于繁复了,更好的就是"/"和"__FILE__"了.


理解错误,他意思是在该文件的根目录下创建,就是说你文件在C盘的任何位置就以C:为根目录,在D盘的话就以D:为根目录..

你想在你指定的文件夹创建的话:

<?php
$db = sqlite_open("/htdocs/test/php/db.sqlite");

?>

__FILE__ ????

上一个:php的登陆问题
下一个:PHP语言。简单输出

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,