larave ajax php 图片上传,laravel-ajaxfileupload上传图片并保存到服务器本地文件夹

这篇博客介绍了如何利用Laravel框架和layuiJS前端库来实现汽修厂信息的添加功能。在用户提交信息时,代码会检查店铺名称、门头照、手机号、地区、详细地址等必填项,进行数据验证。如果手机号格式不正确,或者店铺已存在,系统会提示相应错误。当所有信息都符合要求时,图片会被上传并处理,然后将信息保存到数据库中。成功添加或修改后,用户会被重定向到店铺列表页面。
摘要由CSDN通过智能技术生成

使用框架:laravel+layui

JS代码

//添加汽修厂

$(".addShop").click(function () {

var params = {};

params.shop_fileimg = $('#shopImg').val();

params.shop_fileimg = $(".shopImgNull").attr("src");

params.shop_name = $('#shopName').val().trim();

if(params.shop_name==""){

if(params.shop_fileimg==""){

layer.msg('请上传门头照');

return false;

}

}

params.shop_name = $("#shopName").val().trim();

if(params.shop_name==""){

layer.msg('请输入店铺名称');

return false;

}

var shop_tel = $("#shopTel").val().trim();

if(shop_tel==""){

layer.msg('请输入手机号');

return false;

}else{

if(!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(shop_tel))&&!(/^\d{4}-\d{7,8}$/.test(shop_tel))){

layer.msg('号码有误,重新输入');

return false;

}else {

params.shop_tel = shop_tel;

}

}

params.shop_city = $('#provinces option:selected').text();

if(params.shop_city==""){

layer.msg('请选择地区');

return false;

}else{

params.shop_area = $('#citys option:selected').text();

}

params.shop_address = $("#shopAddr").val().trim();

if(params.shop_address==""){

layer.msg('请输入详细地址');

return false;

}

layer.load(2);

$.ajaxFileUpload({

type:'POST',

data:params,

fileElementId : ['shopImg'], //文件上传域的ID

url: '/addShopImg', //用于文件上传的服务器端请求地址

secureuri: false, //是否需要安全协议,一般设置为false

dataType: 'json', //返回值类型 一般设置为json

success: function (status){

if (status==1){

layer.closeAll('loading');

layer.msg('添加成功',{time:2000,icon: 1},function(){

window.location.href ="/shopList";

});

} else if (status==2) {

layer.closeAll('loading');

layer.msg('该店铺已被添加过,将直接修改对应店铺信息!',{time:2000,icon: 1},function(){

window.location.href ="/shopList";

});

}else if(status==3){

layer.closeAll('loading');

layer.msg('修改成功',{time:2000,icon: 1},function(){

window.location.href ="/shopList";

});

}else{

layer.closeAll('loading');

layer.msg('添加失败',{time:2000,icon: 1},function(){

/*window.location.href ="/factory_list";*/

});

}

},

});

});

controller代码

use Intervention\Image\ImageManagerStatic as Image;

//添加商店

public function addShopImg(Request $request){

$file =$request->all();

// 获取上传的文件对象

$pic = $request->file('shopImg');

if($pic){

//上传文件夹的路径

$dirname = "/public/static/img/";

$entension=$pic->getClientOriginalExtension();//上传文件的后缀

$newName=date('YmdHis').mt_rand(100,900).'.'.$entension;//设置图片上传之后的名字。

$fileName = "static/img/".$newName;//文件路径,存放数据库

$newPath=base_path().$dirname.$newName;//存储文件绝对路径

Image::make($pic)->resize(270, 162)->save($newPath);//移动图片到指定地址,并设置大小

/*move_uploaded_file($pic,$newPath);*///PHP原生函数,存储文件到指定位置

$DataInsert=[

"shopname" =>$file['shop_name'], //'店铺名称',

"shopimg" =>$fileName, //'店铺头像',

"shoptel" =>$file['shop_tel'], //'店铺电话',

"shopcity" =>$file['shop_city'], //'店铺城市',

"shoparea" =>$file['shop_area'], //'店铺区域',

"shopaddr" =>$file['shop_address'], //'店铺地址',

"shopflag" =>1, //'1:店铺运行中 0:店铺暂时关闭',

"addtime" =>time(), //'添加时间',

];

$num = JSDAreaShop::where('shopname',$file['shop_name'])->get()->count();

if ($num==1){

$deleteImgPath = JSDAreaShop::where('shopname',$file['shop_name'])->value("shopimg");

$deleteImg = unlink(public_path($deleteImgPath));

if($deleteImg){

JSDAreaShop::where('shopname',$file['shop_name'])->update($DataInsert);

$status=2;

}

}else{

$insert = JSDAreaShop::insert($DataInsert);

if ($insert){

$status=1;

}else{

$status=0;

}

}

}else{

$DataInsert=[

"shopname" =>$file['shop_name'], //'店铺名称',

"shoptel" =>$file['shop_tel'], //'店铺电话',

"shopcity" =>$file['shop_city'], //'店铺城市',

"shoparea" =>$file['shop_area'], //'店铺区域',

"shopaddr" =>$file['shop_address'], //'店铺地址',

"shopflag" =>1, //'1:店铺运行中 0:店铺暂时关闭',

"addtime" =>time(), //'添加时间',

];

JSDAreaShop::where('shopname',$file['shop_name'])->update($DataInsert);

$status=3;

}

return $status;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值