laravel与thinkphp上传图片 ,老年人记忆系列!!!拿来吧你!!!
Thinkphp5
//上传文件
public function upload(Request $request){
//接收上传的文件
$file = $this->request->file('file');
if(!empty($file)){
//图片存的路径
$imgUrl= ROOT_PATH . 'public' . DS .'static'. DS .'admin'. DS .'uploads'. DS .'news';
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->validate(['size'=>1048576,'ext'=>'jpg,png,gif'])->rule('uniqid')->move($imgUrl);
$error = $file->getError();
//验证文件后缀后大小
if(!empty($error)){
dump($error);exit;
}
if($info){
// 成功上传后 获取上传信息
//获取图片的名字
$imgName = $info->getFilename();
//获取图片的路径
$photo= $imgName;
}else{
// 上传失败获取错误信息
$file->getError();
}
}else{
$photo = '';
}
if($photo !== ''){
return ['code'=>1,'msg'=>'成功','photo'=>$photo];
}else{
return ['code'=>404,'msg'=>'失败'];
}
}
Thinkphp5.1
public function uploadzhibotip(){
//接收上传的文件
$file = $this->request->file('file');
if(!empty($file)){
//图片存的路径
$imgUrl= Env::get('ROOT_PATH') . 'public' . DS .'static'. DS .'admin'. DS .'uploads'. DS .'zhibotip';
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->validate(['size'=>1048576,'ext'=>'jpg,png,gif,jpeg'])->rule('uniqid')->move($imgUrl);
$error = $file->getError();
//验证文件后缀后大小
if(!empty($error)){
return $this->jsons(404,$error);exit;
}
if($info){
//获取图片的名字
$imgName = $info->getFilename();
//获取图片的路径
$photo= $imgName;
}else{
// 上传失败获取错误信息
$file->getError();
}
}else{
$photo = '';
}
if($photo !== ''){
// $res=db('zhibo')->where('id',$id)->update(['photo'=>"/static/admin/uploads/zhibo/".$photo]);
// if($res){
return $this->jsons(1,'上传成功',['photo'=>"/static/admin/uploads/zhibotip/".$photo]);
// }else{
// return $this->jsons(404,'修改失败');
// }
}else{
return $this->jsons(404,'上传失败');
}
}
Thinkphp6
public function doinput(){
//接收上传的文件
$files = $this->request->file('uploads');
if(!empty($files)){
//图片存的路径
$imgUrl= 'static'. DS .'daka'. DS .'uploads'. DS .date('Y-m-d H:i:s');
// 移动到框架应用根目录/public/uploads/ 目录下
$savename = [];
$photo="";
foreach($files as $file){
try {
validate(['file' => [
// 限制文件大小(单位b),这里限制为3M
'fileSize' => 3 * 1024 * 1024,
// 限制文件后缀,多个后缀以英文逗号分割
'fileExt' => 'jpg,jpeg,png',
'fileMime' => 'image/jpeg,image/png'
]])->check(['file' => $file]);
if($photo==""){
$photo =$imgUrl.DS. \think\facade\Filesystem::disk('public')->putFile($imgUrl, $file,'uniqid');
}else{
$photo =$photo.','.$imgUrl.DS.\think\facade\Filesystem::disk('public')->putFile($imgUrl, $file,'uniqid');
}
} catch (think\exception\ValidateException $e) {
return ['code'=>404,'msg'=>$e->getMessage()];
}
};
}else{
return ['code'=>404,'msg'=>"失败"];
}
}
laravel
public function setinfo(Request $request){
$file=$request->file('files');
$size =$file->getSize();
if($size > 3*1024*1024){
return ['code'=>404, 'msg'=>'文件大小不超过3M'];
exit;
}
if($request->hasFile('files')&&$file->isValid()){
//方式一,文件类型方式
if($this->saveFiles_1($file)){
$destinationPath = 'storage/error/'; //public 文件夹下面建 storage/uploads 文件夹
$extension = $file->getClientOriginalExtension();
$fileName=md5(time().rand(1,1000)).'.'.$extension;
$file->move($destinationPath,$fileName);
$data['cover']="/".$destinationPath.$fileName;
}else{
return $this->jsons(404, '文件格式不合法'.$file->getMimeType());
}
}else{
$this->jsons(404,'请上传图');
}
}