Home  >  Article  >  Backend Development  >  PHP code to generate thumbnails in batches_PHP tutorial

PHP code to generate thumbnails in batches_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:51:16937browse

Disadvantages: Pictures with different lengths and widths will be stretched and deformed, and cannot be intelligently cropped. If you need intelligent cropping, please do your own research.
$config = array();
$config['path'] = "./";
$config['t_width'] = 120;
$ config['t_height'] = 98;
$config['ignore'] = array("",".","..");
$config['prefix'] = "thumb_";
$done = 0;
define("IMAGE_JPG", 2);
define("ENDL", "n");
if($handle = opendir($config['path' ])) {
while(false !== ($file = readdir($handle))) {
if(!array_search($file,$config['ignore'])) {

list($im_width, $im_height, $type) = getimagesize($file);
if($type != IMAGE_JPG) {
continue;
}

$op . = "found -> $file" . ENDL;
$im = @imagecreatefromjpeg($file);
if(!$im ) {
$op .= "fail -> couldn't create sour image pointer." . ENDL;
continue;
}

if(file_exists($config['prefix '] . $file) || substr($file, 0, strlen($config['prefix'])) == $config['prefix']) {
$op .= "note -> this file has already got a thumbnail." . ENDL;
continue;
}
$to = imagecreatetruecolor($config['t_width'],$config['t_height']);
if( !$to) {
$op .= "fail -> couldn't create dest image pointer." . ENDL;
continue;
}

if(!imagecopyresampled($ to, $im, 0, 0, 0, 0, $config['t_width'], $config['t_height'], $im_width, $im_height)) {
$op .= "fail -> couldn 't create thumbnail. php fail." . ENDL;
continue;
}

//Save the file
imagejpeg($to, $config['prefix'] . $file) ;
$op .= "done -> created thumb: {$config['prefix']}{$file }" . ENDL;
$done++;
}
}
}
closedir($handle);
$op .= "fin -> { $done} file(s) written" . ENDL;
echo "

"; <br>echo $op; <br>echo "
";
exit;
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/319200.htmlTechArticleDisadvantages: Pictures with different lengths and widths will be stretched and deformed, and cannot be intelligently cropped. Intelligent cropping is required , please do your own research. ?php $config=array(); $config['path']="./"; $config['t_width']=120...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn