单文件上传(未精简三)

来源:-

微笑de迪妮莎

2015-02-15 11:39

    /*
    *    @function 移动文件参数初始化
    *    @notice 初始化新文件名,新文件路径,检测与创建文件路径,构成最终全路径
    */
    public function move_params_init(){
        $newFileName=$this->createNewFileName();
        $newFilePath=$this->getSequencePath($newFileName);
        $this->createFileDir($newFilePath);
        $this->destination=$newFilePath.$newFileName;
    }

    /*
    *    @function 创建新文件名
    *    @return string 新文件名
    *    @notice 文件名由 当前时间_随机数_毫秒数_文件类型.后缀名
    */
    public function createNewFileName(){
        list($usec,$sec)=explode(" ",microtime());
        $new_file_name=date("YmdHis")."_".mt_rand(1000,9999)."_".substr($sec,2,5)."_".$this->file_category.".".$this->temp_fileExt;
        return $new_file_name;
    }
    
    /*
    *    @function 获取序列化的文件路径
    *    @param $newFileName 新文件名
    *    @return string
    */
    public function getSequencePath($newFileName){
        $extension_dir=substr(md5($newFileName),0,1)."/".substr(md5($newFileName),1,1);//扩展目录
        $path=$this->rootPath.$this->file_category;//固定目录
        $sequence_path=$path."/".$extension_dir."/";
        return $sequence_path;
    }
    
    /*
    *    @function 检测目录是否存在,不存在就创建
    *    @param $path目录
    */
    public function createFileDir($path){
        if(!is_dir($path)){
            $tmp_path=dirname($path);
            $this->createFileDir($tmp_path);
            @mkdir($path,0777,true);
            chmod($path,0777);
        }
        else{
            return;
        }
    }
}
/*
$allow_type=array(
        "image"=>array(
            "png","jpeg","jpg","gif",
        ),
        "file"=>array(
            "rar","zip",
        ),
        "video"=>array(
            "avi","flv","wmv","mp4","vob","rmvb",
        ),
);

$allow_size=102400;
$rootPath="./upload/";
$fileUpload=new FileUpload($name,$allow_size,$allow_type,$rootPath);
$fileUpload->move_file();
*/
?>
各位大大们,帮忙看下,特别指出下有谁试过finfo_open这个函数没,因为PHP版本没有到5.3以上,所以无法对finfo_open函数做出测试。本人菜鸟一个。


写回答 关注

2回答

  • King
    2015-02-17 17:27:42
    已采纳

    finfo得到文件类型的

    ^-^...

  • 微笑de迪妮莎
    2015-02-19 10:03:31

    谢谢老师,只是觉得每次遇到php需要扩展时,就觉得麻烦。动不动就缺什么驱动或扩展,想想也是本来就是开源的,看来需要将可能用到的扩展和驱动,整理归列一下,以后在编译安装时一次搞定。避免这种情况。等有空了,我把驱动装上。然后测试下finfo函数。

PHP实现文件上传与下载

本课程讲解了文件上传的原理和配置,学会两种方式实现文件上传与下载

43735 学习 · 328 问题

查看课程

相似问题