• 技术文章 >后端开发 >PHP问题

    php怎么实现文件缩略图

    藏色散人藏色散人2021-07-14 09:52:38原创100

    php实现文件缩略图的方法:首先创建一个PHP示例文件;然后通过“if ($_REQUEST['action']=="add"){...}if ($userfile_size>102400){...}”方法实现从上传文件创建缩略图即可。

    本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

    php怎么实现文件缩略图?

    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怎么实现文件缩略图的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php
    上一篇:php将数组转换为json格式 下一篇:php关闭警告提示的方法
    VIP会员

    相关文章推荐

    • php header 不起作用怎么办• php pdo如何设置字符集• php ascii码怎么转字符• php将数组转换为json格式

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网