https://www.cnblogs.com/wupeiky/p/5802191.html
 
 【原文转载自:https://www.cnblogs.com/guoyachao/p/6282861.html】
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>测试页面</title>
<link rel="stylesheet" href="__PUBLIC__/Uploadify/uploadify.css">
<js file='__PUBLIC__/Uploadify/jquery-1.9.1.min.js'/>
<js file='__PUBLIC__/Uploadify/jquery.uploadify.min.js'/>
</head>
<body>
<p>1.自带上传类</p>
<div class="file_holder">
<form action="__URL__/upload" enctype="multipart/form-data" method="post" >
<input type="file" name="photo" />
<input type="submit" value="提交" >
</form>
</div>
<br>
<p>2.uploadify插件</p>
<div>
<img id="img" src="http://www.thinkphp.cn/Public/new/img/header_logo.png" width="130" height="130" border="0" />
<input id="file_upload" name="file_upload" type="file" multiple="true" value="" />
</div>
<p>图片的输出</p>
<div>
<volist name="res" id="vo">
<img src="__ROOT__/Uploads/{$vo.goods_img}" alt="" heigh="130" width="130">
</volist>
</div>
</body>
<script type="text/javascript">
//上传插件
$(function() {
$('#file_upload').uploadify({
'swf' : '__PUBLIC__/uploadify/uploadify.swf',//进度动画
'uploader' : '{:U("Index/uploadify")}',
'width' : 120, //上传按钮宽度
'height' : 30, //上传按钮高度
//'buttonText' : '上传头像',//提示
'buttonImage' : '__PUBLIC__/Uploadify/browse-btn.png', //上传按钮背景图地址 经测试火狐未安装flash图片显示错误
'fileTypeDesc' : 'Image File', //选择文件提示文字
'fileTypeExts' : '*.jpeg; *.jpg; *.png; *.gif', //允许选择的文件类型
'onUploadSuccess' : function(file, data, response) {
$('#img').attr('src','__ROOT__/Uploads/'+ data);
},
});
});
</script>
</html>
控制器代码

<?php
/**
* 日 期:2017-1-13
* 版 本:1.0.0
* 功能说明:图片上传控制器演示。
*
**/
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller{
public function index(){
$this->display();
}
//自带上传类
public function upload(){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg','pdf');// 设置附件上传类型
$upload->rootPath = './Uploads/'; // 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
// 上传文件
$info = $upload->upload();
//print_r($info);
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
}else{// 上传成功
$this->success('上传成功!');
foreach($info as $file){
$bigimg = $file['savepath'].$file['savename'];
}
}
$model = M('img');
// 取得成功上传的文件信息
$info = $upload->upload();
// 保存当前数据对象
$data['goods_img'] = $bigimg;
$model->add($data);
}
//插件图像上传
public function uploadify(){
if (!empty($_FILES)) {
//图片上传设置
$config = array(
'maxSize' => 3145728,
'savePath' => '',
'saveName' => array('uniqid',''),
'exts' => array('jpg', 'gif', 'png', 'jpeg'),
'autoSub' => true,
'subName' => array('date','Ymd'),
);
$upload = new \Think\Upload($config);// 实例化上传类
$images = $upload->upload();
//判断是否有图
if($images){
$info=$images['Filedata']['savepath'].$images['Filedata']['savename'];
//返回文件地址和名给JS作回调用
echo $info;
}else{
$this->error($upload->getError());//获取失败信息
}
}
$model = M('img');
// 保存当前数据对象
$data['goods_img'] = $info;
$model->add($data);
} ?>

Thinkphp框架图片上传实例的更多相关文章

  1. Thinkphp整合阿里云OSS图片上传实例

    Thinkphp3.2整合阿里云OSS图片上传实例,图片上传至OSS可减少服务器压力,节省宽带,安全又稳定,阿里云OSS对于做负载均衡非常方便,不用传到各个服务器了 首先引入阿里云OSS类库 < ...

  2. layui加tp5图片上传实例

    <div class="layui-fluid"> <div class="layui-row"> <form class=&qu ...

  3. PHP多图片上传实例demo

    upload.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  4. PHP结合zyupload多功能图片上传实例

    PHP结合zyupload多功能图片上传实例,支持拖拽和裁剪.可以自定义高度和宽度,类型,远程上传地址等. zyupload上传基本配置 $("#zyupload").zyUplo ...

  5. PHP 多图片上传实例demo

    upload.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  6. laravel框架图片上传

    1.建控制器方法 2.建立路由 绑定控制器方法 3.进行图片上传的配置 修改图片上传的路径 a) config/filesystems.php 修改disks->local->root(图 ...

  7. webuploader项目中多图片上传实例

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  8. asp.net图片上传实例

    网站后台都需要有上传图片的功能,下面的例子就是实现有关图片上传. 缺点:图片上传到本服务器上,不适合大量图片上传. 第一.图片上传,代码如下: xxx.aspx 复制代码代码如下: <td cl ...

  9. thinkphp 多图片上传 单图片上传

    不管是单图片上传还是多图片上传都必须要引用这两个js 下载地址 链接:http://pan.baidu.com/s/1eStkUt0 密码:asvo <script src="Publ ...

随机推荐

  1. Codeforces404C【构造】

    题意: 一个图有n个点,每一个点最多连接k条直线,给出多有起点到终点的距离,没有环,不能输出重边,输出所有有连接的单向边 思路: 就是简单想-不知道怎么说了,画个图,我们建边,那么距离是 i 就是连距 ...

  2. AGC031 A~C

    A题意:给定字符串s,求无重复字符子序列个数(子序列相同位置不同算不同) 在最后加一串a~z表示选了这些就是不选这个字符了,然后答案就是每次选每个字符位置的方案数的积 #include<iost ...

  3. bzoj 4403: 序列统计【lucas+组合数学】

    首先,给一个单调不降序列的第i位+i,这样就变成了单调上升序列,设原来数据范围是(l,r),改过之后变成了(l+1,r+n) 在m个数里选长为n的一个单调上升序列的方案数为\( C_m^n \),也就 ...

  4. bzoj4517[Sdoi2016]排列计数(组合数,错排)

    4517: [Sdoi2016]排列计数 Time Limit: 60 Sec  Memory Limit: 128 MBSubmit: 1792  Solved: 1111[Submit][Stat ...

  5. [USACO10MAR]伟大的奶牛聚集Great Cow Gat…【树形dp】By cellur925

    题目传送门 首先这道题是在树上进行的,然后求最小的不方便程度,比较符合dp的性质,那么我们就可以搞一搞树形dp. 设计状态:f[i]表示以i作为聚集地的最小不方便程度.那么我们还需要各点间的距离,但是 ...

  6. mysql 用 group by 和 order by同时使用

    首先,这是不可能实现的 mysql的查询的顺序 select -> from-> where->group by->having->order by. 但mysql的解析 ...

  7. Fast Bit Calculations LightOJ - 1032

    Fast Bit Calculations LightOJ - 1032 题意:求0到n的所有数的二进制表示中,"11"的总数量.(如果有连续的n(n>2)个1,记(n-1) ...

  8. MySQL系列:隐式类型转化可能带来的坑

    在开发规范中,我们往往会要求研发避免在where条件中出现隐式类型转换,这么要求大概有以下两方面的原因: 隐式类型转换可能导致索引失效: 隐式类型转换可能产生非预期的结果. 注:这里说的是隐式类型转换 ...

  9. ubuntu安装mysql多实例

    想要尝试mysql的读写分离,在云上安装完mysql之后突然想到一个问题:我本机是没有公网IP的. 开始尝试在唯一一台云服务器上安装多个mysql实例. 主要步骤: 1.新建MySQL目录 (1):新 ...

  10. 毕业设计:主界面(ViewPager + FragmentPagerAdapter)

    一.主要思路 应用程序的主界面包含三个部分:顶部标题栏.底部标识栏和中间的内容部分.顶部标题栏内容基本不变,用于显示当前模块或者整个应用的名称:底部既能标识出当前Page,又能通过触发ImageBut ...