入门 - 路径 ¶
作者:KK
发表日期:2016.8.17
前提准备 ¶
在网站目录下建a.txt文件,内容为"aaaa"
然后index.php写代码:
$content = file_get_contents('a.txt');
echo '文件内容是:' . $content;
前面《读文件》中已经介绍过file_get_contents,只要给它一个文件路径就可以将文件内容读出来嘛
父目录读取 ¶
将a.txt移动到上一层目录(如果你是放在D:\phpStudy\WWW的话就移动到D:\phpStudy目录)
然后将index.php的代码修改为:
$content = file_get_contents('../a.txt');
echo '文件内容是:' . $content;
也能读取到文件,其中传给file_get_contents的参数“../a.txt”这一段..就是说上一层目录
当前目录读取 ¶
将a.txt放回网站目录,然后file_get_contents('./a.txt')也能读出内容,因为.就是当前目录
小结 ¶
.在路径里表示当前目录,..表示父目录,我不知道这是不是国际标准,我只知道很多Windows、Unix和Linux都支持这样来表达目录
复杂点的目录表达式 ¶
D:\a\b\c\..\d这样的路径,其实在C后面的..表示上一级目录,表示从C回到上一层,就成了B,再接个\d,所以结果就是D:\a\b\d
D:\a\b\..\c\..\d等于D:\a\d
D:\a\b\c\..等于D:\a\b
再来.号的:D:\a\b\.\c等于D:\a\b\c,因为在b目录下再声明.就是从b目录(当前目录)出发就是没有换目录,所以就是在b后面找c目录
可以混用:D:\a\b\..\c\.\d就是D:\c\d
.号不总是当前目录 ¶
D:\a\b.txt这样就是指D:\b目录的a.txt这个文件,a.txt是一个整体,这个.号只是文件名的一部分,分开文件前缀名和后缀名而已
只有在.号前后都没有字母数字这些符号的时候,只有\号或者作为结尾时才是表示当前目录,比如D:\a\.\b这样.号左右都有\号,那独一个.号就表示所在的那个当前目录了(D:\a)
小练习 ¶
scandir这个函数可以扫描一个目录下的所有文件,你试试print_r(scandir('D:\'));就能输出D盘下的文件了
好了你要试试scandir('.')、scandir('..')和scandir('D:\a\b\..\c\.\d')的输出结果,确认一下各个目录是不是如我说的那样吧
至于每次返回结果都带有.和..,其实这两个也是文件,一个是当前目录,一个是上一层目录,以后的内容再教你怎么用吧