博主信息
博文 1
粉丝 0
评论 0
访问量 760
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP文件操作功能函数大全
我们都在旅行
原创
763人浏览过
<?php
    /* 转换字节大小 */
    function transByte($size){
        $arr=array("B","KB","MB","GB","TB","EB");
        $i=0;
        while($size>=1024){
            $size/=1024;
            $i++;
        }
        return round($size,2).$arr[$i];
    }
 
    /* 检测文件名称是否合法 */
    function checkFilename($filename){
        $pattern = "/[\/,\*,<>,\?\|]/";
        if(preg_match($pattern,$filename)){
            return false;
        }else{
            return true;
        }
    }
     
    /* 创建文件 */
    function createFile($filename){
        if(checkFilename($filename)){
            //检测当前目录下是否存在同名的文件
            if(!file_exists($filename)){
                //通过touch($filename)来创建
                if(touch($filename)){
                    $mes="文件创建成功";
                }else{
                    $mes="文件创建失败";
                }
            }else{
                $mes="文件已经存在,请重新命名后创建";
            }
        }else{
            $mes="非法文件名";
        }
        return $mes;
    }
     
    /* 重命名文件 */
    function renameFile($oldname,$newname){
        //验证文件名的合法性
        if(checkFilename($newname)){
            //检测当前目录下是否存在同名的文件
            $path=dirname($oldname);
            if(!file_exists($path."/".$newname)){
                //进行重命名
                if(rename($oldname,$path."/".$newname)){
                    $mes="重命名成功";
                }else{
                    $mes="重命名失败";
                }
            }else{
                $mes="存在同名文件,请重新命名";
            }
        }else{
            return $mes="非法文件名";
        }
        return $mes;
    }
 
    /* 删除文件 */
    function delFile($filename){
        if(unlink($filename)){
            $mes="文件删除成功";
        }else{
            $mes="文件删除失败";
        }
        return $mes;
    }
 
    /* 下载文件操作 */
    function downFile($filename){
        header("Content-disposition:attachment;filename=".basename($filename));
        header("Content-length:".filesize($filename));
        readfile($filename);
    }
     
    /* 复制文件 */
    function copyFile($filename,$dstname){
        if(file_exists($dstname)){
            if(!file_exists($dstname."/".basename($filename))){
                if(copy($filename,$dstname."/".basename($filename))){
                    $mes="文件复制成功";
                }else{
                    $mes="文件复制失败";
                }
            }else{
                $mes="存在同名文件";
            }
        }else{
            $mes="目标目录不存在";
        }
        return $mes;
    }
     
    /* 剪切文件 */
    function cutFile($filename,$dstname){
        if(file_exists($dstname)){
            if(!file_exists($dstname."/".basename($filename))){
                if(rename($filename,$dstname."/".basename($filename))){
                    $mes="文件剪切成功";
                }else{
                    $mes="文件剪切失败";
                }
            }else{
                $mes="存在同名文件";
            }
        }else{
            $mes="目标目录不存在";
        }
        return $mes;
    }
     
    /* 上传文件 */
    function uploadFile($fileInfo,$path,$allowExt=array("gif","jpeg","jpg","png","txt"),$maxSize=10485760){
        //判断错误号
        if($fileInfo['error']==UPLOAD_ERR_OK){
            //文件是否是通过HTTP POST方式上传上来的
            if(is_uploaded_file($fileInfo['tmp_name'])){
                //上传文件的文件名,只允许上传jpeg|jpg、png、gif、txt的文件
                //$allowExt=array("gif","jpeg","jpg","png","txt");
                $ext=getExt($fileInfo['name']);
                $uniqid=getUniqidName();
                $destination=$path."/".pathinfo($fileInfo['name'],PATHINFO_FILENAME)."_".$uniqid.".".$ext;
                if(in_array($ext,$allowExt)){
                    if($fileInfo['size']<=$maxSize){
                        if(move_uploaded_file($fileInfo['tmp_name'], $destination)){
                            $mes="文件上传成功";
                        }else{
                            $mes="文件移动失败";
                        }
                    }else{
                        $mes="文件过大";
                    }
                }else{
                    $mes="非法文件类型";
                }
            }else{
                $mes="文件不是通过HTTP POST方式上传上来的";
            }
        }else{
            switch($fileInfo['error']){
                case 1:
                    $mes="超过了配置文件的大小";
                    break;
                case 2:
                    $mes="超过了表单允许接收数据的大小";
                    break;
                case 3:
                    $mes="文件部分被上传";
                    break;
                case 4:
                    $mes="没有文件被上传";
                    break;
            }
        }
        return $mes;
    }
?>


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学