php实现从上传文件创建缩略图的方法

5年以前  |  阅读数:506 次  |  编程语言:PHP 

本文实例讲述了php实现从上传文件创建缩略图的方法。分享给大家供大家参考。具体实现方法如下:


    <?php
    if ($_REQUEST['action']=="add"){
    $userfile = $HTTP_POST_FILES['photo']['tmp_name'];
    $userfile_name = $HTTP_POST_FILES['photo']['name'];
    $userfile_size = $HTTP_POST_FILES['photo']['size'];
    $userfile_type = $HTTP_POST_FILES['photo']['type'];
    ///////////////////////// 
    //GET-DECLARE DIMENSIONS //
    $dimension = getimagesize($userfile);
    $large_width = $dimension[0]; // GET PHOTO WIDTH
    $large_height = $dimension[1]; //GET PHOTO HEIGHT
    $small_width = 120; // DECLARE THUMB WIDTH
    $small_height = 90; // DECLARE THUMB HEIGHT
    /////////////////////////
    //CHECK SIZE //
    if ($userfile_size>102400){
       $error=1;
       $msg = "The photo is over 100kb. Please try again.";
    }
    ////////////////////////////////
    // CHECK TYPE (IE AND OTHERS) //
    if ($userfile_type="image/pjpeg"){
      if ($userfile_type!="image/jpeg"){
        $error=1;
        $msg = "The photo must be JPG";
      }
    }
    //////////////////////////////
    //CHECK WIDTH/HEIGHT //
    if ($large_width!=600 or$large_height!=400){
    $error=1;
    $msg = "The photo must be 600x400 pixels";
    }
    ///////////////////////////////////////////
    //CREATE THUMB / UPLOAD THUMB AND PHOTO ///
    if ($error<>1){
      $image = $userfile_name; //if you want to insert it to the database
      $pic = imagecreatefromjpeg($userfile);
      $small = imagecreatetruecolor($small_width,$small_height);
      imagecopyresampled($small,$pic,0,0,0,0, $small_width, $small_height, $large_width, $large_height);
      if (imagejpeg($small,"path/to/folder/to/upload/thumb".$userfile_name, 100)){  
        $large = imagecreatetruecolor($large_width,$large_height);
      imagecopyresampled($large,$pic,0,0,0,0, $large_width, $large_height, $large_width, $large_height);
        if (imagejpeg($large,"path/to/folder/to/upload/photo".$userfile_name, 100))
       {}
          else {$msg="A problem has occured. Please try again."; $error=1;}
      }
      else {
       $msg="A problem has occured. Please try again."; $error=1;
      }
    }
    //////////////////////////////////////////////
    /// If everything went right a photo (600x400) and
    /// a thumb(120x90) were uploaded to the given folders
    }
    ?>
    <html><head><title>create thumb</title></head>
    <body>
    <form name="form1" enctype="multipart/form-data" action="thisfile.php?action=add" method="post">
    Select Photo: <input type="file" name="photo">
    <input type="submit" name="submit" value="CREATE THUMB AND UPLOAD">
    </form>
    </body
    </html>

希望本文所述对大家的php程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例