![c8d759ef263a0081382846ef4c02a012.png](https://i-blog.csdnimg.cn/blog_migrate/46138a67278abc8b336465c0573f894a.jpeg)
文件判断:
is_file($file)检查指定的文件名是否是正常的文件
file_exists($file) :检查文件或目录是否存在
当检查文件(不包括目录)是否存在时,is_file() 速度比file_exists() 速度要快
文件目录遍历:
public function read(){
$file_path="./Public/theone";
print_r($this->folder_list($file_path)); //遍历当前目录
json_encode($this->folder_list($file_path));//json 读取
}
function folder_list($dir){
$dir .= substr($dir, -1) == '/' ? '' : '/';
$dirInfo = array();
foreach (glob($dir.'*') as $v) {
$arr = array();
$arr['name'] = $v;
$arr['child'] = (is_dir($v)) ? $this->folder_list($v):array();
$dirInfo[] = $arr;
}
return $dirInfo;
}
获取文件大小:
//方法一
function haveSize($size){
if($size >= 1024){
$size = intval($size/10.24)/100;
if($size >= 1024){
$size = intval($size/10.24)/100;
if($size >= 1024){
$size = intval($size/10.24)/100;
if($size >= 1024){
$size = intval($size/10.24)/100;
$size = $size.'TB';
}else{$size = $size .'GB';}
}else{$size = $size . 'MB';}
}else{$size = $size . 'KB';}
}else{$size = $size . 'B';}
return $size;
}
//方法二
function getSize($size){
$unit = ['B','KB','MB','TB'];
$arr = 0;
while($size>=1024){
$size = intval($size/10.24)/100;//保留小数点后2位
$arr = $arr+1 ;
}
$size = $size.$unit[$arr];
return $size;
}
生成文件夹:
public function folder_add(){
//tp3中,判断该文件夹是否存在,不存在就创建
$file = './Public/Uploads/makeup/'.date('Ymd',time());
if(!file_exists($file)){
mkdir($file);
}
//tp5中,判断该文件夹是否存在,不存在就创建
$file = './uploads/makeup/'.date('Ymd',time());
if(!file_exists($file)){
mkdir($file);
}
}
删除文件夹:
//删除文件夹(包括子文件夹及内部文件)
public function del_trash($directory = 'Public/aaa'){
if(is_dir($directory)) {
if($dir_handle=@opendir($directory)) {
while(false!==($filename=readdir($dir_handle))) {
$file=$directory."/".$filename;
if($filename!="." && $filename!="..") {
if(is_dir($file)) {
$this->del_trash($file);
} else {
unlink($file);
}
}
}
closedir($dir_handle);
}
rmdir($directory);
}
}
下载文件夹:
public function file_download(){
mkdir('Public/image'); //建立文件夹
$img = M('img')->select();
$prev = 'http://mm.gimay.net';
foreach($img as $v){
$arr = explode('.',$v['img']);
$ext = $arr[count($arr)-1];
$new_img = '/Public/image/1.'.$ext;
$Http = new OrgNetHttp();
$Http::curlDownload($prev.$v['img'],'.'.$new_img);
}
}
移动文件夹(先复制到新的,然后删除旧的):
//本地文件
public function remove_file(){
//将Move1/1.jpg移动到Uploads/1.jpg
$date = date('Y-m-d'); //设置目录名称
$old = '/Public/Move1/1.jpg';
$arr = explode('.',$old);
$ext = $arr[count($arr)-1];
$new = '/Public/Uploads/1.'.$ext;
copy('.'.$old,'.'.$new); //复制文件
unlink('.'.$old);
}
//远程文件
public function remove_file(){
//远程移动文件
$date = date('Y-m-d'); //设置目录名称
$old = 'http://img.aiimg.com/uploads/userup/0906/16235125Z20.jpg';
$arr = explode('.',$old);
$ext = $arr[count($arr)-1];
$new = '/Public/Uploads/1.'.$ext;
copy($old,'.'.$new); //复制文件
}