首頁 >後端開發 >php教程 >thinkPHP實作上傳圖片及產生縮圖功能範例

thinkPHP實作上傳圖片及產生縮圖功能範例

不言
不言原創
2018-05-10 10:00:201145瀏覽

這篇文章主要介紹了thinkPHP實現上傳圖片及生成縮圖功能,結合實例形式分析了thinkPHP圖片上傳及縮圖設定、生成、保存、資料庫寫入等相關操作技巧,需要的朋友可以參考下

本文實例講述了thinkPHP實作上傳圖片及產生縮圖功能。分享給大家供大家參考,具體如下:

記錄一下在thinkPHP上傳圖片的方法(Upload)和產生縮圖(Image)的方法.

html頁面form中必須加enctype="multipart/form-data"

<form action="__SELF__" method="post" enctype="multipart/form-data">
 <table width="100%"class="cont">
   <tr>
   <td>照片:</td>
   <td width="20%"><input type="file" name="pic" id="pic" /></td>
   <td colspan="3"><input class="btn" type="submit" value="提交" /></td>
   <td> </td>
    </tr>
  </table>
</form>

php程式碼

<?php
namespace Admin\Controller;
use Org\Util\Date;
use Think\Controller;
use Think\Image;
use Think\Upload;
class UserController extends Controller {
  public function add(){
    $user = M(&#39;user&#39;);
    if(!empty($_POST)){
      $user = $user->create();
      //判断传入的图片有没有问题
      if($_FILES[&#39;pic&#39;][&#39;error&#39;] == 0){
        $config = array(
          &#39;rootPath&#39;  => &#39;./Application/public/image/&#39; // 设置图片保存路径
        );
        //new一个上传模型
        $upload = new Upload($config);
        //上传图片
        $pic = $upload->uploadOne($_FILES[&#39;pic&#39;]);
        //将图片保存到数据库中
        $user[&#39;big_pic&#39;] = $pic[&#39;savepath&#39;].$pic[&#39;savename&#39;];
        //生成缩略图
        $img = new Image();
        //大图片的路径
        $big_img = $upload->rootPath.$user[&#39;big_pic&#39;];
        //打开大图片
        $img->open($big_img);
        //设置图片大小
        $img->thumb(200,300);
        //设置绝对路径
        $small_img = $upload->rootPath.$pic[&#39;savepath&#39;].&#39;small_&#39;.$pic[&#39;savename&#39;];
        //保存
        $img->save($small_img);
        //将图片名称存入数据库
        $user[&#39;img&#39;] = $pic[&#39;savepath&#39;].&#39;small_&#39;.$pic[&#39;savename&#39;];
      }
      $user[&#39;create_date&#39;] = date("Y-m-d H:i:s");
      $msg = "添加失败";
      if(M("user")->add($user))
        $msg = "添加成功";
      $this->redirect(show_list,null,3,$msg);
    }
    $this->display();
  }

以上就是這篇文章的全部內容了,更多相關內容請關注PHP中文網。

相關建議:

ThinkPHP實作附件上傳功能

thinkphp實作檔案上傳與檔案下載

以上是thinkPHP實作上傳圖片及產生縮圖功能範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn