多图片|单图片上传(tp3)
在tp3中有thinkphp中自带的文件上传类,对于新手开发者而言,碰到文件上传有时候不知道如果使用tp自带的上传类,如何上传好的,方法返回的单图,或者多图的路径。
第一步 把tp3的上传类封装到应用方法中
function uploads(){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './Public/uploads/'; // 设置附件上传根目录
$upload->savePath = $paths; // 设置附件上传(子)目录
$upload->subName = array('date','Ymd');
// 上传文件 在这里进行上传文件
$info = $upload->upload();
if(!$info) {// 上传错误提示错误信息
echo "<script>alert('".$upload->getError()."');window.history.go(-1);</script>";die;
}else{// 上传成功 获取上传文件信息
$paths = array();
foreach($info as $file){
$paths[] = '/Public/uploads/'.$file['savepath'].$file['savename']; // 在这里返回了添加成功的路径
}
return $paths;
}
}
第二步 哪里想用调哪里
public function f1(){
$images = $_FILES['images']; //接收文件
$file = uploads($images); //上传文件返回路径数据
$str = implode($file); //转换为字符串
$data['imgs'] = $str; //赋值到数组中
$res =M('user)->add($data); //添加数据
}
用户上传接口如何实现?
/*
* 上传图片
*/
public function uploads()
{
$data['code'] = 200;
$data['msg'] = '上传成功';
$upload = new \Think\Upload(); // 实例化上传类
$upload->maxSize = 3145725551; // 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg', 'mp4', 'wmx', 'mov', 'mpeg', 'rm'); // 设置附件上传类型
$upload->rootPath = './Public/uploads/'; // 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
$upload->autoSub = true;
$upload->subName = array('date', 'Ymd');
// 上传文件
$info = $upload->upload();
if (!$info) {
// 上传错误提示错误信息
$this->error($upload->getError());
} else {
$dataa = '';
foreach ($info as $k) {
$dataa .= '/Public/uploads/' . $k['savepath'] . $k['savename'] . '|';
}
$dataa = rtrim($dataa, '|');
$data['data']['img'] = $dataa;
$this->ajaxReturn($data);
}
}