php上传图片生成缩略图
时间:2021-07-01 10:21:17
帮助过:21人阅读
- 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)
- }
- }
- ?>
|
上传图片, php