判断文件的内容是不是空的php_php & Thinkphp 文件判断、文件目录遍历、获取文件大小、增删移复制文件...

c8d759ef263a0081382846ef4c02a012.png

文件判断:

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); //复制文件
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值