摘要:<?php /** *创建目录方法和删除目录方法 *$dirname //需要创建的目录名称 */ function create_folder($dirName) { //判断是否存在相同或目录 if(file_exists($dirName)){ return '存在同名文件夹'; } //创建目录并判断,mkdir(
<?php
/**
*创建目录方法和删除目录方法
*$dirname //需要创建的目录名称
*/
function create_folder($dirName)
{
//判断是否存在相同或目录
if(file_exists($dirName)){
return '存在同名文件夹';
}
//创建目录并判断,mkdir()中true可以嵌套进行创建目录
if(mkdir($dirName,0777,true)){
return '目录创建成功';
}
return '目录创建失败';
}
//echo create_folder('admin/css');
//echo create_folder('css');
/**
*删除目录操作
*$path 需要删除的目录
*/
function del_folder($path)
{
//打开目录
$dir = opendir($path);
//循环读取目录中的内容
while($item = readdir($dir)){
//判断.和..特殊文件或目录
if($item != '.'&& $item != '..'){
//判断是否为真正的文件
if(is_file($path.'/'.$item)){
//删除文件
unlink($path.'/'.$item);
}
//判断是否为目录
if(is_dir($path.'/'.$item)){
//回调方法
$func = __FUNCTION__;
//使用方法
$func($path.'/'.$item);
}
}
}
//关闭目录
closedir($dir);
//删除目录
rmdir($path);
return '目录删除成功!';
}
//echo del_folder('file');
//复制文件及文件夹
/**
*$src 原目录
*$dest 目标目录
*return 提示信息
*/
function copy_dir($src,$dest)
{
//判断复制的目录下是否有相同的文件或目录
if(!file_exists($dest)){
mkdir($dest,0777,true);
}else{
return '该目录下存在相同文件';
}
//打开目录
$dir = opendir($src);
//循环读取目录中的内容
//readdir()读取目录中的文件或目录等
while($item = readdir($dir)){
//判断.和..的文件及目录
if($item != '.' && $item != '..'){
//判断是否为文件
if(is_file($src.'/'.$item)){
copy($src.'/'.$item,$dest.'/'.$item);
}
//判断是否为目录
if(is_dir($src.'/'.$item)){
//回调方法
$func = __FUNCTION__;
//使用方法
$func($src.'/'.$item,$dest.'/'.$item);
}
}
}
//关闭目录
closedir($dir);
return '目录复制成功';
}
//echo copy_dir('upload','css/upload');
//目录重命名操作
/**
*$oldname 源目录名称
*$newname 新目录名称
*/
function rename_dir($oldname,$newname)
{
if(!file_exists($newname)){
if(rename($oldname,$newname)){
return '修改成功';
}else{
return '修改失败';
}
}
return '已存在该文件或目录';
}
//echo rename_dir('css','js');
//剪切目录操作和目录读取操作
/**
*$src 源目录
*$dest 目标目录
*return 提示信息
*/
function cut_dir($src,$dest)
{
//判断是否存在目标目录
if(is_dir($dest)){
//拼接目标路劲
$dest =$dest.'/'.$src;
//判断目标目录是否存在相同目录
if(!file_exists($dest)){
//判断并剪切目录
if(rename($src,$dest)){
return "目录剪切成功";
}else{
return '目录剪切失败';
}
}else{
return '该目录下已存在此文件';
}
}else{
return '目标不是目录';
}
}
//echo cut_dir('admin','js');
//读取目录操作
/**
*$path 读取的目录
*return 数据
*/
function read_dir($path)
{
$arr = [];
$dir = opendir($path);
while($item = readdir($dir)){
if($item !='.'&& $item != '..'){
if(is_file($path.'/'.$item)){
$arr['file'][]=$item;
}
if(is_dir($path.'/'.$item)){
$arr['dir'][]=$item;
}
}
}
closedir($dir);
return $arr;
}
//var_dump(read_dir('js'));
//目录大小的查询操作
//$path 查询目录的小名称
function dir_size($path)
{
$sum=0;
global $sum;
$dir = opendir($path);
while ($item=readdir($dir)){
if($item != '.' && $item !='..'){
if(is_file($path.'/'.$item)){
$sum += filesize($path.'/'.$item);
}
if(is_dir($path.'/'.$item)){
//__FUNCTION__回调 获取当前的方法名
$func = __FUNCTION__;
$func($path.'/'.$item);
}
}
}
return $sum;
}
//字节的大小
//echo dir_size('js');
//调用方法trans_byte()显示通常的大小
echo trans_byte(dir_size('js'));
批改老师:西门大官人批改时间:2019-02-17 09:12:04
老师总结:作业写的很好,不过删除目录的操作嵌套有点深了,可读性不太好