这篇文章主要介绍了Thinkphp结合ajaxFileUpload实现ajax异步图片传输全套代码的相关资料,需要的朋友可以参考下
这篇文章主要给大家介绍了利用Thinkphp结合ajaxFileUpload实现异步图片传输的方法,文中给出了详细的示例代码,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
使用Jquery的ajaxFileUpload的图片上传插件,感觉这种异步上传的方式非常好用接下来就介绍一下这个插件的使用。
通过查看插件的源码发现,插件的实现原理大概就是创建一个隐藏的表单和iframe然后用JS去提交,获得返回值。
1、引用文件
先引入jQuery与ajaxFileUpload插件。注意先后顺序,这个不用说了,所有的插件都是这样。
<script src="X19BRE1JTl9fL2pzL2pxdWVyeS5taW4uanM/dj0yLjEuNA=="></script>
<script src="X19BRE1JTl9fL2pzL2FqYXhmaWxldXBsb2FkLmpz"></script>
2、HTML代码
<div class="form-group">
<label class="col-sm-2 control-label">缩略图</label>
<div class="col-sm-8">
<div id="file-pretty">
<div>
<input type="file" id="file_thumb" name="thumb" class="form-control" style="display: none;" value="">
<div class="input-append input-group">
<span class="input-group-btn">
<button id="btn_thumb" class="btn btn-white" type="button">选择图片</button>
</span>
<input id="info_thumb" name="thumb" class="input-large form-control" type="text" value="{$info.img}">
</div>
</div>
</div>
</div>
<div class="col-sm-2"><img id="show_thumb" src="L3VwbG9hZHMvaW1hZ2UveyRpbmZvLnRodW1ifQ==" style="height: 30px;" alt="IiZndDsmbHQ7L2RpdiZndDsNCiZsdDsvZGl2Jmd0OzwvY29kZT48L3ByZT48L2Rpdj4NCjxwIGNsYXNzPQ=="maodian">3、JS代码
<script type="text/javascript">
$(function(){
$("#btn_thumb").click(function(){
$("#file_thumb").click();
});
//异步上传
$("body").delegate('#file_thumb', 'change', function(){
var filepath = $("input[name='thumb']").val();
var arr = filepath.split('.');
var ext = arr[arr.length-1];
//alert(filepath);exit();
if('gif|jpg|png|bmp'.indexOf(ext)>=0){
$.ajaxFileUpload({
url: '/admin/slide/upload_image',
secureurl: false,
fileElementId: 'file_thumb', //file标签ID
dataType: 'json', //返回数据类型
data:{name:'thumb'},
success:function (data,status){
$("#info_thumb").val(data);
$("#show_thumb").attr('src','/uploads/images/'+data);
$("#info_thumb").focus();
},
complete:function (XMLHttpRequest){
},
error:function (data,status,e){
layer.alert('上传失败!');
},
});
} else {
//清空file
$("#file_thumb").val("");
layer.alert('请上传合适的图片类型!');
}
});
});
</script>
4、后台处理(PHP)
//单文件(包含单文件)异步上传
public function upload_image(){
//图片上传
$file = request()->file(input('name'));
$info = $file->move(ROOT_PATH . 'public/uploads/images');
if($info) {
return json_encode($info->getSaveName());
}
}
5、前台调用
<div id="slideshow">
<ul class="rslides" id="slider">
{volist name="data" id="vo"}
<li><a href="{$vo.url}" rel="external nofollow" rel="bookmark" target="_blank"> <img src="X19VUExPQURTX18vaW1hZ2VzL3skdm8uaW1nfQ==" max-width="" max-height="" alt="eyR2by50aXRsZX0="></a>
<p class="slider-caption">{$vo.title}</p>
</li>
{/volist}
</ul>
</div>
到此这篇关于Thinkphp结合ajaxFileUpload实现ajax异步图片传输全套代码的文章就介绍到这了,更多相关Thinkphp加ajaxFileUpload实现图片上传内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
沃梦达教程
本文标题为:Thinkphp结合ajaxFileUpload实现ajax异步图片传输全套代码
猜你喜欢
- PHP中PDO事务处理操作示例 2022-10-15
- Laravel balde模板文件中判断数据为空方法 2023-08-30
- php微信公众号开发之秒杀 2022-11-23
- laravel实现按月或天或小时统计mysql数据的方法 2023-02-22
- PHP简单实现二维数组的矩阵转置操作示例 2022-10-02
- PHP实现微信支付(jsapi支付)流程步骤详解 2022-10-09
- PHP仿tp实现mvc框架基本设计思路与实现方法分析 2022-10-18
- windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境) 2023-09-02
- laravel通用化的CURD的实现 2023-03-17
- 用nohup命令实现PHP的多进程 2023-09-02