目录操作相关函数

1 删除文件

/**
* 删除文件
* @ param string $filename 要删除的文件名称
* @ return bool 删除成功返回true,删除失败返回false
*/
function delFile($filename)
{
if(file_exists($filename)){
return unlink($filename);
}
return false;
}


2 创建目录

/**
* 作用:创建目录, 存在不创建,不存在就创建
* @ param string $path 路径
* @ return bool
*/
function createDir($path)
{
// 判断目录是否存在
if(is_dir($path)){
return false; //目录存在
}else{
//第三个参数是“true”表示能创建多级目录,iconv防止中文目录乱码
$res = mkdir(iconv("UTF-8", "GBK", $path),0777,true);
if($res){
return true; //创建成功
}else{
return false; //创建失败
}
}
}


3 删除目录

/**
* 删除目录
* @ param string $dir 要删除的目录名称
* @ return string 删除成功返回字符串true,删除失败返回字符串false
*/
function delDirectory($dir)
{
// 打开指定目录,@符号用来屏蔽错误
if($handle = @opendir($dir)){
while(($file = readdir($handle)) !== false){
if (($file == ".") || ($file == "..")){
continue;
}
if (is_dir($dir . '/' . $file)){
delDirectory($dir . '/' . $file); // 递归
}else{
unlink($dir . '/' . $file); // 删除文件
}
}
@closedir($handle);
if(rmdir($dir)){
return 'ture';
}
return 'false';
}
return 'false';
}


4 获取目录大小

/**
* 获取目录大小
* @ param string $dir 目录名称
* @ return int 返回目录大小
*/
function getDirSize($dir)
{
$handle = opendir($dir);
$sizeResult = 0;
while (($folderorfile = readdir($handle)) !== false) {
if($folderorfile != "." && $folderorfile != ".."){
if(is_dir("$dir/$folderorfile")){
$sizeResult += getDirSize("$dir/$folderorfile");
}else{
$sizeResult += filesize("$dir/$folderorfile");
}
}
}
closedir($handle);
return $sizeResult;
}


5 格式化目录大小

/**
* 格式化目录大小
* @ param int $size 目录大小数值
* @ return string 返回格式化后的目录大小
*/
function getRealSize($size)
{
$kb = 1024; // Kilobyte
$mb = 1024 * $kb; // Megabyte
$gb = 1024 * $mb; // Gigabyte
$tb = 1024 * $gb; // Terabyte

if($size < $kb){
return $size." B";
}else if($size < $mb){
return round($size/$kb,2)." KB";
}else if($size < $gb){
return round($size/$mb,2)." MB";
}else if($size < $tb){
return round($size/$gb,2)." GB";
}else{
return round($size/$tb,2)." TB";
}
}


相关推荐

  • 生成图片

    from PIL import Image, ImageColor, ImageDraw, ImageFont, ImageFilterdef create_image_with_text(size, color, text, font_path, font_size, text_color, shadow_color, output_path): """ Create a new image of specified size and color with centered text that has a border and shadow. :param size: A tuple con

  • 获取指定目录下的所有图片信息

    1 获取指定目录下的所有图片信息// 获取指定目录下的所有图片信息 public function getImagesInfo($directory) { $images = []; // 创建递归目录迭代器 $iterator = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator($directory, \RecursiveDirectoryIterator::SKIP_DOTS), \RecursiveIteratorIterator::LEAVES_ONLY ); // 遍历目录中的每个文件 foreach (

  • Thinkphp各版本的PHP要求

    ThinkPHP 8.0:运行环境要求PHP8.0+,兼容PHP8.3ThinkPHP 6.1:运行环境要求PHP7.2+,兼容PHP8.1ThinkPHP 6.0:运行环境要求PHP7.2+,兼容PHP8.1ThinkPHP 5.1:运行环境要求PHP5.6+,兼容PHP8.0ThinkPHP 5.0:运行环境要求PHP5.4+,兼容PHP7.3