//更新       更新中的话,一定要写那一个if判断
public function update(){
$model = M('link'); $upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './Public'; //根下面的public
$upload->savePath = '/uploads/'; // 设置附件上传目录
$upload->saveName = ['uniqid','pic'];//设置保存前缀
$upload->subName = ['date','Y/m/d']; //以日期方式保存 //上传文件 并 返回信息
$info = $upload->upload(); if($info){ //更新的话,一定要写这个判断
//遍历信息 取得路径和文件名
foreach($info as $file){
$img = 'Public'.$file['savepath'].$file['savename'];
}
//把文件名存到POST中 方便create使用
$_POST['picname'] = $img;
} if($model->create()){
$model->save();
$this->success('更新成功',U("Link/select"));
}else{
$this->error('更新失败',U("Link/select"));
}
}

2.添加。。。。

    //保存添加的内容
public function insert(){
$model = M('link'); $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './Public'; //根
$upload->savePath = '/uploads/'; // 设置附件上传目录
$upload->subName = ['date','Y/m/d']; //以日期方式创建文件夹 保存图片
$upload->saveName = ['uniqid','pic'];//设置保存前缀 $info = $upload->upload(); // 上传文件
// array (size=1)
// 'picname' =>
// array (size=9)
// 'name' => string 'Meinv002.jpg' (length=12)
// 'type' => string 'image/jpeg' (length=10)
// 'size' => int 557301
// 'key' => string 'picname' (length=7)
// 'ext' => string 'jpg' (length=3)
// 'md5' => string '6807fdb5a7d40d72374f0049c46fb70d' (length=32)
// 'sha1' => string '8f9b545211b2dfa49957cf3e0e8f5e8cd68a734e' (length=40)
// 'savename' => string 'pic55c74c898d07d.jpg' (length=20)
// 'savepath' => string '/uploads/2015/08/09/' (length=20
// dump($upload);
// echo '<hr />';
// dump($info);
// die(); foreach($info as $file){
$img = 'Public'.$file['savepath'].$file['savename'];
} $_POST['picname'] = $img; //名字传给他 if($model->create()){
$model->addtime = time();
$model->add();
$this->success('添加成功',U("Link/select"));
}else{
$this->error('提交失败',U("Link/select"));
}
}

三、表单中

<form role="form" action='__URL__/insert' method='POST' enctype="multipart/form-data">
            <div class="form-group">
<label>添加图片</label>
<input type="file" name="picname">
</div>

TP上传图片的更多相关文章

  1. TP框架多上传域上传图片

    问题: 学习使用TP框架做电商网站是,添加商品表单需要上传商品logo和商品图片pics,有两个上传域,第一个上传域是logo,只上传一张,第二个上传域是pics,上传多张图片.使用如下代码,总是报错 ...

  2. TP框架上传图片至阿里云oss

    首先安装阿里云oss扩展: composer require aliyuncs/oss-sdk-php 如果这个安装不上可以直接下载SDK的包: 链接:https://pan.baidu.com/s/ ...

  3. 【小月博客】 Html5 上传图片 移动端、PC端通用

    在博客园注册账号有些天了,感觉有些许欣慰,自己写的东西有人在看,有人在评论很是开心.(ps: 满足一下虚荣心吧!) 废话不多说了,说一下今天给大家分享的是 html5上传图片.我们是在移动端使用的,但 ...

  4. SAE云平台上传图片和发送邮件

    1.远程图片保存至Storage 其中public是Storage中的容器名,"目录1/目录2/"是容器下的路径 $file_content 是得到的文件数据 $s = new S ...

  5. ThinkPHP提交表单判断上传图片经验总结

    在用TP框架开发程序处理接收到的表单的时候,要判断<input type="file" name="img">是否有上传图片,来决定是否要将对应的图 ...

  6. TP开发小技巧

    TP开发小技巧原文地址http://wp.chenyuanzhao.com/wp/2016/07/23/tp%E5%BC%80%E5%8F%91%E5%B0%8F%E6%8A%80%E5%B7%A7/ ...

  7. apicloud上传图片

    //定义api $("#photo").change(function(){ //获取图片 api.getPicture({ sourceType: 'library', enco ...

  8. 简单的PHP上传图片和删除图片示例代码

    分享一例简单的PHP上传图片和删除图片示例代码,很简单,适合初学的朋友参考,用来研究php上传图片还是不错的. 1.php上传图片: <?php if (!empty($_FILES[" ...

  9. TP图片上传

    //控制器文件 public function index(){ if(!empty($_POST)){ $file = $_FILES["file"]; if(!isset($f ...

随机推荐

  1. BlockingQueue阻塞队列

    java.util.concurrent包: 1.Excutors类:通过这个类可获得多种线程池的实例 Excutors.newSingleThreadExecutor():获得单线程的Executo ...

  2. $MySQL常用操作命令备忘

    1.登录数据库:mysql -uroot -p12345  (12345为密码)2.创建数据库:create database senguocc; (senguocc为数据库名)3.查看有哪些数据库: ...

  3. 【鸟哥的Linux私房菜】笔记3

    正确地开机 最好不要使用root账号登陆!GNOME图形界面 View items as a list X WindowShell 文本交互界面bash是Shell的名称,Linux的默认壳程序就是b ...

  4. Laravel 调试利器 —— Laravel Debugbar 扩展包安装及使用教程

    1.简介 Laravel Debugbar 在 Laravel 5 中集成了 PHP Debug Bar ,用于显示调试及错误信息以方便开发.该扩展包包含了一个 ServiceProvider 用于注 ...

  5. 学习C#之旅 冒泡排序,选择排序,插入排序,希尔排序[资料收集]

    关于冒泡排序,选择排序,插入排序,希尔排序[资料收集]  以下资料来源与网络 冒泡排序:从后到前(或者从前到后)相邻的两个两两进行比较,不满足要求就位置进行交换,一轮下来选择出一个最小(或最大)的放到 ...

  6. 高通平台MSM8916LCM模块移植(一)-bootloader部分【转】

    本文转载自:http://www.mobile-open.com/2016/970947.html 高通平台中的bootloader叫做LK(Little Kernel,对于LCM来说LK部分相当重要 ...

  7. etcd 安装部署

    etcd 是coreos团队开发的分布式服务发现键值存储仓库. github地址: https://github.com/coreos/etcd 安装: 1.下载etcd最新版本 https://gi ...

  8. mysql一次运行多个SQL文件

    在文件 batch.sql 中写下多个SQL文件 source file1.SQLsource file2.SQLsource file3.SQL 然后运行 source batch.sql

  9. 针对oracle集群的连接配置

    Java连接oracle数据库集群的配置:<DB NAME="WFS" DRIVER="oracle.jdbc.driver.OracleDriver" ...

  10. MySQL数据copy

    摘自http://database.51cto.com/art/201011/234776.htm 1. 下面这个语句会拷贝表结构到新表newadmin中. (不会拷贝表中的数据) CREATE TA ...