完成文件上传工作,并实现以下功能 :
1、上传文件扩展名、类型检查;
2、上传文件大小检查;
3、上传对应目录创建;
4、上传文件命名规则制定;
use grace\tool\upload;
$fileName // 文件域名称 $_FILES[对应的名称] $targetDir, // 上传文件保存文件夹位置 [ 如果不存在则创建 ] $uploadedFileUseName // 上传文件名称自定义(设置后自动重命名将失效),不设置则自动命名
upload() 文件上传函数 // 文件大小、类型等校验信息通过 upload 对象属性设置, upload 函数基于这些属性直接进行文件上传工作; // 上传成功 : 返回 TRUE,通过 uploadedFileUrl 属性获取上传后服务端文件路径; // 上传失败 : 返回 FALSE,错误信息保存在 error 属性 : $uper->error;
# 控制器代码
<?php namespace grace\controller; use grace\grace; use grace\tool\upload; class index extends grace{ public function index() { if(!empty($_FILES['file'])){ $uploadObject = new upload('file', 'upload'); // 允许上传文件的扩展名 [ 会自动检查与扩展名对应的文件类型 ] $uploadObject->allowExtName = array('7z','jpg','gif','png'); // 允许上传文件的大小 [单位 K] $uploadObject->allowSize = 1024; // 子文件夹创建规则 no - 不自动创建 | y - 年 | m - 月 | d - 日 $uploadObject->dirCreateRule = 'y'; // 文件重命名规则 1: 不重命名 | 2: 随机重命名 | 3: _1 后缀形式重命名 $uploadObject->renameRule = 2; $res = $uploadObject->upload(); if($res){ echo '上传文件路径 : '.$uploadObject->uploadedFileUrl; }else{ echo $uploadObject->error; } } } }
# 视图代码
<form action="" method="post" enctype="multipart/form-data"> <input type="file" name="file" value="" /> <input type="submit" id="" value="提交" /> </form>