多圖片|單圖片上傳(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);
}
}