php目录路径
① PHP路径问题
JAVA没用过。
一般我都是把类,函数放在一个文件夹下,然后定义一个常量内容就是根目录或者当前目录,这样引用那个文件时直接调用就行了。
② PHP 路径
*********************************************
对问题的补充(因为发布字数有限):
我第一次使用的是相对路径,所以重复包含的时候就出错了
而我第二次使用的是绝对路径,所以不出错.可是我还是有点疑惑:
我先分析了以下使用相对路径会出错的原因:
我运行index.php,它能找到 folder_a目录,也能找到该目录下的file_a_a.php,于是它就把 folder_a/file_a_a.php 里的内容复制到了index.php 的第一行(包含语句的那行),然后 再继续运行(也就是运行包含过来的内容),因此此时等于是在index.php中运行 file_a_a.php 中的require_once('../folder_b/file_b_a.php'); 它根据当前index.php的位置去找 这个路径文件(file_b_a.php),当然找不到啦,所以它出错了.
可是我使用绝对路径的时候不是一样的道理吗?可为什么它就不出错?可能这句话大家有点不解了,我来详细说明(根据程序的运行顺序来说明).
程序先运行 index.php(注意此时我加上了 dirname(__FILE__),所以当前是绝对路径),
index.php先运行第一句代码:require_once(dirname(__FILE__).'/'.'folder_a/file_a_a.php');
dirname(__FILE__) 就是 f:/wwwroot/ 所以这句代码包含的路径也就是:
f:/wwwroot/folder_a/file_a_a.php
这个路径是正确的,因此没问题是吧
ok 第一步正确完成
然后它就把 file_a_a.php 中的代码复制到的 index.php 的这个地方:
然后仍然继续运行: 这是也就是在index.php 中运行file_a_a.php 中的所有代码,那么我们来看看它运行那些代码?
<?php
require_once(dirname(__FILE__).'/'."../folder_b/file_b_a.php");
$x = new X();
$x.printInfo();
?>
对就是这些,需要注意的是,这些代码已经被复制到了index.php,也就是说,现在index.php的内容实际上就变成了:
<?php
require_once(dirname(__FILE__).'/'."../folder_b/file_b_a.php");
$x = new X();
$x.printInfo();
echo "文件folder_a_a.php被包含成功";
?>
那么仍然按程序的执行顺序来分析以上代码:
dirname(__FILE__) 应该是 f:/wwwroot (因为现在这些代码在index.php中执行,和相对路径一样的道理,因此得到的是index.php所在的目录)
那么包含的路径应该就是: f:/wwwroot/../folder_b/file_b_a.php
那么我们检查下这个路径是否有file_b_a.php文件呢? 答案是没有,因为 f:/wwwroot/../folder_b 已经返回到的f:盘符下的folder_b目录,而这个目录并不存在.
但是执行的结果却让我不解,它竟然正确输出了.
也许大家会说:在相对路径中,index.php 先包含了 file_a_a.php 然后再执行包含 file_b_a.php 的代码,所以找不到目录.而使用绝对路径后,index.php 在包含 file_a_a.php 之 前,file_a_a.php 已经先执行了包含 file_b_a.php 的代码,所以正确输出.但是请注意:php文档中以及许多文档教程都是这样说明的:包含一个文件,实际上就是将被包含的文件中 的代码复制到包含命令的地方,就算这个观点是错误的,那么同样是 require_once 命令,不可能对相对路径就是先包含再执行,而对绝对路径却是先执行再包含吧.
不解,请大家指教.(非常感谢大家能看到这里,问题很长,是因为我郁闷的时间更长,所以请大家不要 Ctrl+C Ctrl+V,也不要说:看 API 或 自己找资历 等等了.)谢谢.
③ php包含子目录文件中的路径问题
在index.php文件里,把他所在的绝对路径获取到,是文件夹目录路径,如D:/www,把这个值define一个常量,然后以后再include什么文件,都用刚才的常量加目录加文件名字.
这还有几个关于包含路径的总结文章,可以看下.
http://www.xphper.com/index.php?load=read&id=102
http://www.xphper.com/index.php?load=read&id=761
④ php设置文件路径
语法是没错的,错误应该是你的路径不对,你这样
你在 require XXMY_P....这个前面加一个调试:
die (XXMY_PATH);
看看输出的路径正确与否就知道问题在哪了
⑤ php 有什么办法指定目录路径去创建文件
mkdir("e:/php/1/"); 可以通过本地路径来写的
⑥ php中文件操作时路径怎么写
这个没有特殊要求的啊,可以用相对路径的
⑦ PHP中,这个路径该如何写
linux的应该、或者肯定不会让你随便创建文件的,有权限限制,否则,你们想想啊,任何一个虚拟主机的用户都可以在服务器上面创建文件,那服务器不是乱套了嘛,但是如果你自己弄也许可以吧,查查linux用户权限设置之类的,兴许有帮助
⑧ [php]相对路径和绝对路径 ../ ../../ ./ / 还有不写, 这几种都是哪些路径啊,有点晕
/var/---web_root/------->| -- images_dir/--->|--i.jpg
| -- test_dir/ ---->|--test.php
| --le.php
比如此时是这些相对路径在test.php里
../ 此文件当前位置的上一层目录,就是images_dir test_dir le.php这级目录
../../ 上一层目录的上一层,就是web_root这级目录
,/则是当前目录,就是test.php这级
/则表示根目录,用来写绝对路径的
不写就是和./一样,表示当前目录
⑨ php获取上级文件绝对路径
PHP获取文件绝对路径,参考方法如下:
<?php
echo __FILE__ ; // 取得当前文件的绝版对地址,结果:D:\www\test.php
echo dirname(__FILE__); // 取得当前文件所权在的绝对目录,结果:D:\www\
echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\
?>
chdir() 函数把当前的目录改变为指定的目录。
若成功,则该函数返回 true,否则返回 false。
语法 :
chdir(directory)参数 描述
directory 必需。规定新的当前目录。
⑩ php 文件操作中文件路径如何填写
举例:
1、file.php中有这么一句话:$existResult = file_exists('logo.jpg');
代表file.php和logo.jpg在同一目录内;
2、file.php中有这么一句话:$existResult = file_exists('../logo.jpg');
在file.php的上级文件夹内;
3、file.php中有这么一句话:$existResult = file_exists('/logo.jpg');
在file.php所在的网站/应用的根目录下。
4、file.php中有这么一句话:$existResult = file_exists('/imges/logo.jpg');
在file.php所在的网站/应用的“images”目录下。
看懂了吗?实际上这就是dos文件夹的路径。