====== MooPHP 上传类使用方法 ====== 文件上传基本上是每一个项目必不可少的。那么简单的快捷的完成上传文件处理那是我们一直的追求。 MooPHP上传类使用方法简单,和缩略图和水印结合在一起,可以根据需求设置是否处理缩略图和是否加水印。 下面介绍基本的组成和使用方法,欲知更详细的信息可以参考源代码。 ===== 配置参数(成员变量) ===== //note 上传的目录,确保可写 var $targetDir; //note 上传保存的方式:0为不生成子目录,即全部保存在一个目录下 1 按月方式为一个子目录存储 2 按天方式为一个子目录存储 var $saveType =1; //note 返回的上传信息 var $upFiles = array(); //note 图片数组扩展后缀 var $images = array('jpg', 'jpeg', 'gif', 'png', 'bmp'); //note 可以上传的文件类型,不带点 var $allowExtensions = array(); //note 是否开启缩略图 var $thumbStatus = 0; //note 是否开启水印, 需要在 $imageConfig 同时配置 var $waterMarkStatus = 0; //note 缩略图和水印的参数 数组, 具体配置说明看 MooImage的参数说明 var $imageConfig = array(); 这里的参数都可以通过config方法指定 ===== 方法 config(设置成员变量) ====== /** * 配置函数 * * @param array $config: 配置数组,对应的key和变量对应 * @return void */ function config($config) { } 该方法通过传入一个对应与成员变量的key的数组来设置成员变量。 ===== 方法 saveFiles(批量上传文件) ====== /** * 批量处理上传文件 * @param string $upFilename 上传文件的文件变量名称 * * @return array $this->upFiles 文件信息数组 */ function saveFiles($upFilename) { } 该方法为通过传入上传文件变量名称即可处理该数组或者改变量名称对应的文件。返回结果是处理后的文件数组信息。通过 $this->upFiles 返回。 ===== 方法 saveFile(处理一个上传文件) ====== /** * 保存处理单个文件 * * @return string */ function saveFile(& $file) { } /** * 批量处理上传文件 * @param string $upFilename 上传文件的文件变量名称 * * @return array $this->upFiles 文件信息数组 */ function saveFiles($upFilename) { } 该方法为通过传入上传文件变量名称即可处理该数组或者改变量名称对应的文件。返回结果是处理后的文件数组信息。通过 $this->upFiles 返回。 ===== 方法 getSubDir(生成存放文件子目录) ====== /** * 根据指定存储的方式取得上传子目录 * * @return void */ function getSubDir() { } 该方法为是生成一个子上传目录。对上传文件进行按照日期分目录存储。方便以后管理和上传文件的读取。 ===== 方法 getExtension(取得文件扩展名) ====== /** * 返回上传文件不带"."的扩展名 * * @return string */ function getExtension($fileName) { return pathinfo($fileName, PATHINFO_EXTENSION); } 该方法为是返回上传文件的扩展名称。 ===== 方法 getFiles(分析拆分上传文件变量数组) ====== /** * 把多个文件上传的信息拆分后返回 * @param string $upFilename 表单上传文件变量的名称 * * @return array FilesInfo */ function getFiles($upFilename) { } 该方法为是把上传的多个文件信息,拆分后到一个数组里面,可以通过循环来分别单个处理。 ===== 方法 random(返回随机字符) ====== /** * 返回随机字符 * @param int $length 字符长度 * @param boolean $numeric 是否是数字 * * @return string random string */ function random($length, $numeric = 0) { } 该方法为是返回指定长度的字符串,是为上传文件名重命名而准备的。 ===== 综合使用样例 ===== //自动加载MooUpload类 $upload = MooAutoLoad('MooUpload'); //通过方法config配置相应的参数,没有指定的就是默认值 $upload->config(array( 'targetDir' => './../Moo-data/attachments/', 'saveType' => 1, 'thumbStatus' => 1, 'waterMarkStatus' => 1, 'imageConfig' => array('thumbDir'=>'./../Moo-data/attachments/thumb/') )); //批量上传文件,返回上传后相应信息 $files = $upload->saveFiles('upfile');