Maison  >  Article  >  développement back-end  >  Exemple d'implémentation de thinkPHP pour le téléchargement d'images et la génération de vignettes

Exemple d'implémentation de thinkPHP pour le téléchargement d'images et la génération de vignettes

不言
不言original
2018-05-10 10:00:201113parcourir

Cet article présente principalement thinkPHP pour implémenter les fonctions de téléchargement d'images et de génération de vignettes. Il analyse le téléchargement d'images thinkPHP et la configuration des vignettes, la génération, la sauvegarde, l'écriture de bases de données et d'autres compétences opérationnelles connexes sous forme d'exemples. à ce qui suit

L'exemple de cet article décrit comment thinkPHP implémente les fonctions de téléchargement d'images et de génération de vignettes. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Enregistrez la méthode de téléchargement des images (Télécharger) et de génération de vignettes (Image) dans thinkPHP

Vous devez ajouter 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>
code 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();
  }

C'est it L'intégralité du contenu de l'article est ici. Pour plus de contenu connexe, veuillez consulter le site Web PHP chinois.

Recommandations associées :

ThinkPHP implémente la fonction de téléchargement de pièces jointes

thinkphp implémente le téléchargement de fichiers et le téléchargement de fichiers

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn