在php中我们有大量的可对文件与目录操作的函数,下面我来总结一下这些函数的用法,有需要学习的朋友可参考参考。
mkdir();函数
php创建文件夹和文件
///创建文件夹
代码如下 |
复制代码 |
function createdir($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"; } ?> |
$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,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因
保留部分路径,则系统在标准输出上显示相应的信息。
要清空并除去目录,请输入:
代码如下 |
复制代码 |
$fp=fopen('aa.txt', 'w '); //建立一新文件 chmod('aa.txt', 0777); //设定权限,不然的话建立后无法修改,删除 //好象这行不用也可以 fwrite($fp, '要写入的内容'); //写内容 fclose($fp); //关闭文件 |
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的文件
删除指定目录下的所有文件
代码如下
代码如下 |
复制代码 |
function dir_clear($dir) { $directory = dir($dir); //创建一个dir类(Php手册上这么说的),用来读取目录中的每一个文
件 while($entry = $directory->read()) { //循环每一个文件,并取得文件名$entry $filename = $dir.'/'.$entry; //取得完整的文件名,带路径的 if(is_file($filename)) { //如果是文件,则执行删除操作 @unlink($filename); } } $directory->close(); //关闭读取目录文件的类 result(); }
|
|
复制代码
|
function dir_clear($dir) { $directory = dir($dir); //创建一个dir类(Php手册上这么说的),用来读取目录中的每一个文
代码如下 |
复制代码 |
/* * PHP 读取目录下及其子目下的文件函数 * */ $files=getFile("images");//调用函数 foreach ($files as $name){ echo "$name"." "; } function getFile($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; } ?> |
件 while($entry = $directory->read()) { //循环每一个文件,并取得文件名$entry $filename = $dir.'/'.$entry; //取得完整的文件名,带路径的 if(is_file($filename)) { //如果是文件,则执行删除操作
代码如下 |
复制代码 |
function rmdir_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);//删除自身(文件夹) } |
@unlink($filename); }
| }
$directory->close(); //关闭读取目录文件的类
result();
}
列出目录中包括子目录的所有文件程序
代码如下
|
复制代码
|
/*<🎜> * PHP 读取目录下及其子目下的文件函数<🎜> * */<🎜>$files=getFile("images");//调用函数<🎜>foreach ($files as $name){<🎜> echo "$name"." ";} function getFile($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;}?>
删除指定目录下的所有文件以及所有文件夹以及本身***强烈推荐这种方法!!!
代码如下
|
复制代码
|
function rmdir_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);//删除自身(文件夹)}
|
|