반응형
출처 : http://blog.bloodcat.com/197
<?php $source = '/home/user/zip/compressed.zip'; $storage = '/home/user/thumbnails/'; $workspace = '/tmp/thumbnailmaker/'; $path = $storage.'/resized.jpg'; @mkdir($storage, 0777); @mkdir($workspace, 0777, true); @unlink($path); $zip = new ZipArchive(); if($zip->open($source) === true) { for($i = 0, $cnt = $zip->numFiles; $i < $cnt; $i++) { $fname = $zip->getNameIndex($i); if(preg_match('/(jpe?g|gif|png)/', pathinfo($fname, PATHINFO_EXTENSION))) { $tpath = $workspace.'/'.sha1(time().rand(0,99)); copy('zip://'.$source.'#'.$fname, $tpath); list($wo, $ho, $ftype) = getimagesize($tpath); switch($ftype) { case 1: $original = imagecreatefromgif($tpath); break; case 2: $original = imagecreatefromjpeg($tpath); break; case 3: $original = imagecreatefrompng($tpath); break; case 15: $original = imagecreatefromwbmp($tpath); break; default: echo 'Can\'t make a thumbnail: '.$ftype; unlink($tpath); break(2); } unlink($tpath); $w = 80; $h = 60; $resized = imagecreatetruecolor($w, $h); imagecopyresampled($resized, $original, 0, 0, 0, 0, $w, $h, $wo, $ho); imagepng($resized, $path, 9); chmod($path, 0644); break; } } } ?>
반응형
'Web > PHP' 카테고리의 다른 글
php 앞자리 0 제거 정규식 (0) | 2017.02.05 |
---|---|
[PHP] 다중 파일을 zip으로 묶어받기 (0) | 2017.01.12 |
[PHP] 외부 이미지 저장 (0) | 2017.01.11 |
구글 단축 주소 (1) | 2017.01.10 |
엑셀파일 생성시 숫자형으로 강제 변환되는 것 방지 (0) | 2011.11.22 |