php做缩略图源码

2014 年 10 月 21 日4300

thump.php:

<?php
include_once('extra.php');
$path='assets/';
$new_height=800;
$dir='E:\webroot\blog\test\assets\\';
define("END", "\n");
define("TUD",$dir);
function thumb($source,$new_height)
{
list($im_width, $im_height, $type) = getimagesize($source);
/*$file=explode('/',$source);
$file=array_pop($file);*/

$file=basename($source);
echo $file;


if (!is_writable($source)) {
trigger_error('dir can\'t be write');
//touch('thumb');
}
$new_width=$im_width * $new_height / $im_height;
$new_width=sprintf('%d',round($new_width));
echo $new_width;
$im = ImageCreatefromJpeg($source);
if (!$im)
throw new Exception('Unable to read image file');
$thumb = ImageCreateTrueColor($new_width, $new_height);
ImageCopyResampled($thumb, $im, 0, 0, 0, 0, $new_width, $new_height, $im_width, $im_height);
if (!Imagejpeg($thumb,'thumb/'.$file))
throw new Exception('缩略图失败');
imagedestroy($im);
imagedestroy($thumb);
unlink (TUD.$file);
//echo TUD.$file.' done';
}
$data=enterDir(TUD);
//print_r ($data);
foreach($data as $v)
//echo $v;
thumb(TUD.$v,$new_height);
/*$handle = opendir('thumb/');
while(false !== ($file = readdir($handle))) {
$source="thumb/".$file;
echo "<a href=$source>$file</a><br>";
}*/
?>
extra.php:

<?php
function enterDir($path)
{

if ($handle = opendir($path)) {
$data=array();
while (false !== ($f = readdir($handle))) {
$ep=array('.','..');
//$ext=substr($f,-3,3);
if (in_array($f,$ep))
continue;
//if (filesize($path.$f)<300)
//if (substr($f,0,3)!='000' || substr($f,0,3)!='2003')
// continue;
$data[]=$f;
}

/* $result=implode("\t\n",$data);
echo $result;*/
closedir($handle);


return $data;
}
}
$data=enterDir('E:\webroot\blog\test\assets\\');
print_r($data);
foreach ($data as $k=>$v) {
$title=substr($v,0,-4);
$data[$k]='<photo title="'.$title.'" image="assets/'.$v.'" />';
//echo $v;
}
$data=implode("\r\n",$data);
echo $data;

/*function ()
{

}
*/

0 0