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. bzoj 1396: 识别子串【SAM+线段树】

    建个SAM,符合要求的串显然是|right|==1的节点多代表的串,设si[i]为right集合大小,p[i]为right最大的r点,这些都可以建出SAM后再parent树上求得 然后对弈si[i]= ...

  2. bzoj 1396: 识别子串 && bzoj 2865: 字符串识别【后缀数组+线段树】

    根据height数组的定义,和当前后缀串i最长的相同串的长度就是max(height[i],height[i+1]),这个后缀贡献的最短不同串长度就是len=max(height[i],height[ ...

  3. Codeforces731E Funny Game

    dp[i][0]表示从i出发,轮到先手走的最优值. dp[i][1]表示从i出发,轮到后手走的最优值. dp[i][0]=max(dp[j][1]+sum[j]) dp[i][1]=min(dp[j] ...

  4. scrapy将爬取到的数据存入elasticsearch

    pip安装 elasticsearch-dsl的包, 是elasticsearch提供给python 的接口 if __name__ == "__main__": 这个用来调试,还 ...

  5. C#拷贝整个文件夹以及子目录和其中文件

       private void CopyDirectory(string srcPath, string desPath)         {             string folderNam ...

  6. 喵哈哈村的魔法考试 Round #5 (Div.2) ABCC2

    官方题解:http://www.cnblogs.com/qscqesze/p/6516139.html 喵哈哈村的狼人杀大战(1) 描述 喵哈哈村最近热衷于玩一个叫做狼人杀的游戏! 张小田今天她抽到的 ...

  7. 贪心 HDOJ 5090 Game with Pearls

    题目传送门 /* 题意:给n, k,然后允许给某一个数加上k的正整数倍,当然可以不加, 问你是否可以把这n个数变成1,2,3,...,n, 可以就输出Jerry, 否则输出Tom. 贪心:保存可能变成 ...

  8. 1-16使用try-catch捕捉异常

    处理异常 可以使用try-catch-处理异常,例如之前的程序可以使用try-catch-处理 package com.monkey1024.exception; import java.io.Fil ...

  9. 18.3.2从Class上获取信息(注解)

    package d18_3_1; /** * Class类上所包含的注解 * * getAnnotation(Class annotationClass) 获取该元素上指定的类型的注解 * getAn ...

  10. port 22: Connection refused

    issue: os>ssh 196.168.27.90ssh: connect to host 196.168.27.90 port 22: Connection refused solutio ...