>백엔드 개발 >PHP 튜토리얼 >이미지 업로드 및 썸네일 생성을 위한 thinkPHP 구현의 예

이미지 업로드 및 썸네일 생성을 위한 thinkPHP 구현의 예

不言
不言원래의
2018-05-10 10:00:201158검색

이 글에서는 주로 사진 업로드 및 썸네일 생성 기능을 구현하는 thinkPHP를 소개합니다. thinkPHP 사진 업로드 및 썸네일 설정, 생성, 저장, 데이터베이스 작성 및 기타 관련 작업 기술을 예제 형식으로 분석합니다.

이 기사의 예에서는 thinkPHP가 사진 업로드 및 썸네일 생성 기능을 구현하는 방법을 설명합니다. 참고를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

thinkPHP에서 이미지 업로드(Upload) 및 썸네일(Image) 생성 방법을 기록하세요.

다음에 enctype="multipart/form-data"를 추가해야 합니다. html 페이지 양식 "

<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 code

<?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으로 문의하세요.