CanPHP开发手册--图片与文件上传

说明:
  • 类文件:CanPHP/lib/UploadFile.class.php文件中
  • 默认会自动加载,不需要手动include
方法:upload() //上传文件
方法:getErrorMsg()//获取上传失败的信息
方法:getUploadFileInfo()//获取上传成功后的信息
属性:
    // 上传文件的最大值
    public $maxSize = -1;

    // 是否支持多文件上传
    public $supportMulti = true;

    // 允许上传的文件后缀
    //  留空不作后缀检查
    public $allowExts = array();

    // 允许上传的文件类型
    // 留空不做检查
    public $allowTypes = array();

    // 使用对上传图片进行缩略图处理
    public $thumb   =  false;
    // 缩略图最大宽度
    public $thumbMaxWidth;
    // 缩略图最大高度
    public $thumbMaxHeight;
    // 缩略图前缀
    public $thumbPrefix   =  'thumb_';
    public $thumbSuffix  =  '';
    // 缩略图保存路径
    public $thumbPath = '';
    // 缩略图文件名
    public $thumbFile		=	'';
    // 是否移除原图
    public $thumbRemoveOrigin = false;
    // 压缩图片文件上传
    public $zipImages = false;
    // 启用子目录保存文件
    public $autoSub   =  false;
    // 子目录创建方式 可以使用hash date
    public $subType   = 'hash';
    public $dateFormat = 'Ymd';
    public $hashLevel =  1; // hash的目录层次
    // 上传文件保存路径
    public $savePath = '';
    public $autoCheck = true; // 是否自动检查附件
    // 存在同名是否覆盖
    public $uploadReplace = false;

    // 上传文件命名规则
    // 例如可以是 time uniqid com_create_guid 等
    // 必须是一个无需任何参数的函数名 可以使用自定义函数
    public $saveRule = '';

    // 上传文件Hash规则函数名
    // 例如可以是 md5_file sha1_file 等
    public $hashType = 'md5_file';

    // 错误信息
    private $error = '';

    // 上传成功的文件信息
    private $uploadFileInfo ;	
使用方法:
	//在公共模块,定义一个上传方法,在其他模块中,直接使用
	//$upload_dir上传的目录名
		protected function _upload($upload_dir)
    {
			$upload = new UploadFile();
			//设置上传文件大小
			$upload->maxSize=1024*1024*2;//最大2M
			//设置上传文件类型
			$upload->allowExts  = explode(',','jpg,gif,png,bmp');
		
			//设置附件上传目录
			$upload->savePath ='../images/'.$upload_dir."/";
			$upload->saveRule = cp_uniqid;
	
			if(!$upload->upload())
			 {
				//捕获上传异常
				$this->error($upload->getErrorMsg());
			}
			else 
			{
				//取得成功上传的文件信息
				return $upload->getUploadFileInfo();
			}
	}