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. poj 1743 Musical Theme【二分+SA】

    差分,然后二分长度mid,判断是把height按照min不小于mid分组,取最大最小的sa位置看是否>=mid即可,注意差分后最后答案要+1 #include<iostream> # ...

  2. C++十进制到任意进制

    #include<stdio.h> #include<string.h> #include<math.h> #include<iostream> #in ...

  3. C++ 的输出格式

    0 在C语言中很简单对输出的要求,然而在C++中有一丝的麻烦. 在下面的代码中所需要的是 #include<iostream> 基本输入/输出库 #include<iomanip&g ...

  4. iOS MD5 (Swift3)

    import Foundation extension Int { func hexedString() -> String { return NSString(format:"%02 ...

  5. 远程报:这可能是由于credssp加密oracle修正

    此错误解决办法 1.Win+R 输入regedit打开注册表 找到对应的以下目录HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion ...

  6. ssh密钥的分发之一:ssh-copy-id

    ssh密钥的分发 我们在使用客户端账号对主机记性管理的时候,可以分为以下两种情况: .第一种情况,直接使用root账号: 优点:使用root账号密钥分发简单,指令执行简单 缺点:不安全 .第二种情况, ...

  7. EJB Timer Service is not available. Timers for application with id 95795415990861824 will not be deleted

    delete follows:glassfish\domains\domain1\applications\ejb-timer-service-appglassfish\domains\domain1 ...

  8. windows clone 迁移数据库

    windows clone 迁移数据库可行.(c 盘底成复制)

  9. MySQL5.5升级到5.6

    5.6的新的特性 .支持GTIDs,Failover.多线程复制. 新增binlog_row_image只记录row格式下所用字段的修改(而不是像以前一样记录全部列),节省空间等资源: master. ...

  10. zoj3772Calculate the Function(矩阵+线段树)

    链接 表达式类似于斐波那契 但是多了一个变量 不能用快速幂来解 不过可以用线段树进行维护 对于每一个点够一个2*2的矩阵 1 a[i] 1  0   这个矩阵应该不陌生 类似于构造斐波那契的那个数列 ...