详细学习PHP中对文件和目录的操作方法
一:引论"mI?/~+^1XO(?8I
在任何计算机设备中,文件是都是必须的对象,而在web编程中,文件的操作一直是web程序员的头疼的地方,而,文件的操作在cms系统中这是必须的,非常有用的,我们经常遇到生成文件目录,文件(夹)编辑等操作,现在我把php中的这些函数做一详细总结并实例示范如何使用.,关于对应的函数详细介绍,请查阅php手册.此处只总结重点.和需要注意的地方.(这在php手册是没有的.)^C&C!RR c$z
二:目录操作 oE}:c}P
-[V!i5_6GTH
首先介绍的是一个从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出:&FE4{ A)@tK1gz4z
[code]<?php
$base_dir = "filelist/";
$fso = opendir($base_dir); XU.J;y'k$?p2Y2e_,i
echo $base_dir."<hr/>" ;KCL"L)t(y
while($flist=readdir($fso)){q*iUBu)T%P PGb
echo $flist."<br/>" ;
}
closedir($fso)-}_|Oy[yy
?>[/code]
这是讲返回文件目录下面的文件已经目录的程序(0文件将返回false).3R.e G)XE,c'r~
有时候需要知道目录的信息,可以使用dirname($path)和basename($path),分别返回路径的目录部分和文件名名称部分,可用disk_free_space($path)返回看空间空余空间.pH9e}"Si4]2_
创建命令:3lD%q7K;@^p(E
[code]mkdir($path,0777)[/code]k2r0f ~!Y(}KT
,0777是权限码,在非window下可用umask()函数设置.
[code]rmdir($path)[/code]
将删除路径在$path的文件.
,N fS(\,Y
dir -- directory 类也是操作文件目录的重要类,有3个方法,read,rewind,close,这是一个仿面向对象的类,它先使用的是打开文件句柄,然后用指针的方式读取的.,这里看php手册:
[code]<?php0V:j6}U0T.V T
$d = dir("/etc/php5");
echo "Handle: " . $d->handle . "\n"; @q^l#uPw7c8E
echo "Path: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
echo $entry."\n";$o0`1@Evk1nT*Qa e
}8iRv LP
$d->close();"PaKI!V5n0\%J&B7SP@
?>[/code]
输出:xj+J]u.\
[code]Handle: Resource id #2{;Q0H*{I
Path: /etc/php5
.9{9JXj(j Z:cv])nV
..;K8RJ-Ed$Y
apache
cgi
cli[/code]I)x#o:X2iQ DKz {4q
文件的属性也非常重要,文件属性包括创建时间,最后修改时间,所有者,文件组,类型,大小等
下面我们重点谈文件操作.3e:]`1Lv4z)}
F/@7W~0T+{,b\y Y
三:文件操作;tI ]&| K+Z
● 读文件 ;HL xwzuy^
首先是一个文件看能不能读取(权限问题),或者存在不,我们可以用is_readable函数获取信息.: 8~t)Kh2I5SG*E |
[code]<?php
$file = 'dirlist.php';8Lxs"l(xv
if (is_readable($file) == false) {