摘要:<?php /** * 目录创建操作 * @param $dirName //需要创建的目录名 * @return string 提示信息 */ function create_floder($dirName) { &
<?php
/**
* 目录创建操作
* @param $dirName //需要创建的目录名
* @return string 提示信息
*/
function create_floder($dirName)
{
//判断是否存在相同文件或目录
if (is_dir($dirName)) {
return '该文件已存在';
}
//创建目录并判断
if (mkdir($dirName, 0777, true)) {
return '目录创建成功';
}
return '目录创建失败';
}
/**
* 目录读取操作
* @param $path //读取的目录
* @return array //数组|失败
*/
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);
$arr['size'][] = dir_size($path);
return $arr;
}
/**
* 查询目录大小
* @param $path //需要查询大小的目录
* @return string //目录的大小
*/
function dir_size($path)
{
//全局变量
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)) {
$func = __FUNCTION__;
$func($path . '/' . $item);
}
}
}
closedir($dir);
return trans_byte($sum);
}
/**
* @param $byte //字节大小
* @param int $precision //要保留的小数
* @return string
*/
function trans_byte($byte, $precision = 2)
{
$kb = 1024;
$mb = 1024 * $kb;
$gb = 1024 * $mb;
$tb = 1024 * $gb;
if ($byte < $kb) {
return $byte . 'B';
} elseif ($byte < $mb) {
return round($byte / $kb, $precision) . 'KB';
} elseif ($byte < $gb) {
return round($byte / $mb, $precision) . 'MB';
} elseif ($byte < $tb) {
return round($byte / $gb, $precision) . 'GB';
} elseif ($byte < $gb) {
return round($byte / $tb, $precision) . 'TB';
}
}
批改老师:韦小宝批改时间:2019-02-19 13:04:10
老师总结:写的很不错 PHP中的文件操作的函数在实际的开发中用到的次数还是蛮频繁的 没事的时候自己要记得多练习