php语言 百分网手机站

php上传图片生成缩略图

时间:2020-08-06 09:29:16 php语言 我要投稿

php上传图片生成缩略图

  如何用php上传图片生成缩略图,还阐述了利用GD库上传图片以及创建缩略图,感兴趣的`小伙伴们可以参考一下。

  首先来一段简单的php上传图片生成缩略图的详细代码,分享给大家供大家参考,具体内容如下

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  15

  16

  17

  18

  19

  20

  21

  22

  23

  24

  <?php

  function createThumbnail($imageDirectory, $imageName, $thumbDirectory, $thumbWidth, $quality){

  $details = getimagesize("$imageDirectory/$imageName") or die('Please only upload images.');

  $type = preg_replace('@^.+(?<=/)(.+)$@', '$1', $details['mime']);

  eval('$srcImg = imagecreatefrom'.$type.'("$imageDirectory/$imageName");');

  $thumbHeight = $details[1] * ($thumbWidth / $details[0]);

  $thumbImg = imagecreatetruecolor($thumbWidth, $thumbHeight);

  imagecopyresampled($thumbImg, $srcImg, 0, 0, 0, 0, $thumbWidth, $thumbHeight,

  $details[0], $details[1]);

  eval('image'.$type.'($thumbImg, "$thumbDirectory/$imageName"'.

  (($type=='jpeg')?', $quality':'').');');

  imagedestroy($srcImg);

  imagedestroy($thumbImg);

  }

  foreach ($_FILES["pictures"]["error"] as $key => $error) {

  if ($error == UPLOAD_ERR_OK) {

  $tmp_name = $_FILES["pictures"]["tmp_name"][$key];

  $name = $_FILES["pictures"]["name"][$key];

  move_uploaded_file($tmp_name, "data/$name");

  createThumbnail("/location/of/main/image", $name, "/location/to/store/thumb", 120, 80);

  //120 = thumb width :: 80 = thumb quality (1-100)

  }

  }