12.2.4 建立与删除目录
mkdir -- 新建目录
语法:bool mkdir (string pathname [,int mode])
尝试新建一个由 pathname 指定的目录。
rmdir -- 删除目录
语法:bool rmdir ( string dirname )
尝试删除 dirname 所指定的目录。 该目录必须是空的,而且要有相应的权限。如果成功则返回 TRUE,失败则返回 FALSE。
unlink -- 删除文件
语法:bool unlink ( string filename )
删除 filename。和 Unix C 的 unlink() 函数相似。如果成功则返回 TRUE,失败则返回 FALSE。
<?php
//自定义删除目录函数
function delDir($dir){
//1. 判断是否是有效文件或目录
if(!file_exists($dir)){
die("文件或目录{$dir}不存在!");
}
//2. 若是文件就直接删除
if(is_file($dir)){
unlink($dir);return true;
}
//3. 打开目录
$dd = opendir($dir);
//4. 跳过两个特殊目录:"." ".."
readdir($dd);readdir($dd);
//5. 遍历目录,并删除里面的文件
while($f = readdir($dd)){
//加上全路径
$file = rtrim($dir,"/")."/".$f;
//判断是否是目录还是文件
if(is_dir($file)){
//采用递归调用删除子目录
delDir($file);
}else{
//删除文件
unlink($file);
}
}
//6. 关闭目录
closedir($dd);
//7. 删除目录
rmdir($dir);
return true;
}
?>
exec.php
<?php
exec("mkdir /hello");
exec("rm -rf /hello");
mkdir.php
<?php
/*
filedir 用户 组 其它
rwx rwx rwx
6 4 6
7 7 7
rw_ r__ rw_
r__ _w_ ___
r = 4
w = 2
x = 1
chmod 777 filename
chmod 644 filename
*/
mkdir("meizie");
mkdir("fengge", 0644);
rmdir.php
<?php
rmdir("meizi");
test.php
<?php
function deldir($dirname) {
if(!file_exists($dirname)) {
die("文件夹不存在!");
}
//如果是文件,直接删除即可
if(is_file($dirname)) {
unlink($dirname);
}
$dir = opendir($dirname);
while($filename = readdir($dir)) {
if($filename !="." && $filename!="..") {
$filename = $dirname."/".$filename;
if(is_dir($filename) ) {
deldir($filename);
}else {
unlink($filename);
}
}
}
closedir($dir);
rmdir($dirname);
}
deldir("phpmyadmin");