入门 - 路径 ¶
作者: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')
的输出结果,确认一下各个目录是不是如我说的那样吧
至于每次返回结果都带有.
和..
,其实这两个也是文件,一个是当前目录,一个是上一层目录,以后的内容再教你怎么用吧