在php中我们有大量的可对文件与目录操作的函数,下面我来总结一下这些函数的用法.
mkdir();函数:php创建文件夹和文件
///创建文件夹
代码如下 复制代码
functioncreatedir($dir)
{
if(file_exists($dir) &&is_dir($dir)){//如果存在这个文件并且这个文件是个目录就不动作
}
else{
mkdir($dir,0777);//否则就创造这个目录
}
}
file_exists();函数,file_exists -- 检查文件或目录是否存在,代码如下:
$filename='/path/to/foo.txt';
if(file_exists($filename)) {
print "The file $filename exists";
} else{
print "The file $filename does not exist";
}
?>
is_dir();函数,is_dir();测试文件是否为目录,为目录就返回true,不就返回false.
is_file();Is_File('目标文件路径和文件名'),为文件返回"True",不为文件返回"False"。
is_link();文件系统函数库
is_link();测试文件是否为链接文件。
true 值则表示指定的 filename 存在并为符号链接文件.
rmdir 命令
功能:删除空目录
rmdir [选项] dirname
- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除,如果整个路径被删除或者由于某种原因.保留部分路径,则系统在标准输出上显示相应的信息。
要清空并除去目录,请输入:
rm mydir/* mydir/.*
rmdir mydir
该命令除去 mydir 文件中的内容接着除去空目录,rm 命令显示一条关于尝试除去目录 .(点)和.. (点,点)的错误消息,然后 rmdir 命令除去它们。
建立一个文件名字为aa.txt,代码如下:
$fp=fopen('aa.txt','w+');//建立一新文件
chmod('aa.txt', 0777);//设定权限,不然的话建立后无法修改,删除 //好象这行不用也可以
fwrite($fp,'要写入的内容');//写内容
fclose($fp);//关闭文件
unlink()函数
功能:删除文件,unlink($filename),删除文件名为$filename的文件,删除指定目录下的所有文件,代码如下:
functiondir_clear($dir) {
$directory= dir($dir);//创建一个dir类(Php手册上这么说的),用来读取目录中的每一个文
件
while($entry=$directory->read()) {//循环每一个文件,并取得文件名$entry
$filename=$dir.'/'.$entry;//取得完整的文件名,带路径的
if(is_file($filename)) {//如果是文件,则执行删除操作
@unlink($filename);
}
}
$directory->close();//关闭读取目录文件的类
result();
}
列出目录中包括子目录的所有文件程序,代码如下:
/*
* PHP 读取目录下及其子目下的文件函数
* */
$files=getFile("images");//调用函数
foreach($filesas$name){
echo"$name"."
";
}
functiongetFile($dir){
$files=array();
if(is_file($dir)){//如果指定路径为文件直接返回
return$dir;
}
$hande=opendir($dir);
if($hande){
while(false!==($ufile=readdir($hande))){//如果读取目录成功
if($ufile!="."&&$ufile!=".."){
$filename=$dir."/".$ufile;
if(is_file($filename)){
$files[]=$filename;
}else{
$files=array_merge($files,getFile($filename));
}
}
}//end While
closedir($hande);
}//end if
return$files;
}
?>
删除指定目录下的所有文件以及所有文件夹强烈推荐这种方法,代码如下:
functionrmdir_tree($dirname)//定义一个函数rmdir_tree,要删除的文件名为$dirname
{
$handle=opendir($dirname);//打开名为$dirname的文件夹
while($file=readdir($handle))//跑回圈读取打开的文件夹
{
if(($file==".") || ($file==".."))continue;//继续跑的条件,如果不满足就不跑了
$fullname=$dirname."/".$file;//完整的文件名(包括路径)
if(filetype($fullname)=="dir")
rmdir_tree($fullname);//调用刚刚定义的函数,实现递归
else
unlink($fullname);//删除文件
}
closedir($handle);//关闭打开了的文件夹
rmdir($dirname);//删除自身(文件夹)
}
(责任编辑:admin)