1.将上传到数据库的图片 也就是 存在临时目录的文件可不可以给它生成缩略图?
我现在都是先将图片上传了生成缩略图再删除上传了的图片
这样效率不高
因为要是一次上传很多图或多人同时上传就会不好了
2.数据库中的图片做缩略图
就是将存在于数据库中BLOB的二进制内容读出来生成缩略图再放到数据库
因为现在库中已经有大量记录了请高手赐教。
分不够打个 [More] 我在开贴
我现在都是先将图片上传了生成缩略图再删除上传了的图片
这样效率不高
因为要是一次上传很多图或多人同时上传就会不好了
2.数据库中的图片做缩略图
就是将存在于数据库中BLOB的二进制内容读出来生成缩略图再放到数据库
因为现在库中已经有大量记录了请高手赐教。
分不够打个 [More] 我在开贴
//$photoName 目标文件名及路径
//$UserdstW 输出图片的最大宽度
//$UserdstH 输出图片的最大高度
function upPhoto( $srcFile,$photoName,$UserdstW=200,$UserdstH=200 ) {
$data = @GetImageSize($srcFile,&$info);
switch ( $data[2] ){
case 1: $origImg = @ImageCreateFromGIF($srcFile);
break;
case 2: $origImg = @imagecreatefromjpeg($srcFile);
break;
case 3: $origImg = @ImageCreateFromPNG($srcFile);
break;
}
$srcW = @ImageSX( $origImg );
$dstW = $srcW;
$srcH = @ImageSY( $origImg );
$dstH = $srcH;
//按照比例缩小
if ( $srcW >;= $srcH ) {
if ( $srcW >;= $UserdstW ){
$dstH = intval($srcH / $srcW * $UserdstW);
$dstW = $UserdstW;
}
}else{
if( $srcH >;= $UserdstH ) {
$dstW = intval($srcW / $srcH * $UserdstH);
$dstH = $UserdstH;
}
}
//
if(function_exists("imagecopyresampled"){
$ni = imagecreatetruecolor( $dstW,$dstH );
imagecopyresampled( $ni, $origImg, 0, 0, 0, 0, $dstW,$dstH,$srcW,$srcH );
}else{
$ni = imagecreate( $dstW,$dstH );
imagecopyresized($ni, $origImg, 0, 0, 0, 0, $dstW,$dstH,$srcW,$srcH );
} imagejpeg( $ni,$photoName );
imagedestroy( $ni );
}
-----------------------imagecreatetruecolor,服务器需要 更高gd 库,并且此函数好像不支持 gif 格式,不知大家有什么解决方法?
生成缩略图的类我自己有,比你这个还要好
imagecreatefromjpeg 是读的文件
我是想将数据库中的二进制内容做缩略图