php图片上传并生成缩略图效果 本教程是一款php图片上传然后,把上传的图片生成小图片哦,是一款非常好的文件上传类,如果你正在找类程序可以进来看看
php教程图片上传并生成缩略图效果
本教程是一款php图片上传然后,把上传的图片生成小图片哦,是一款非常好的文件上传类,如果你正在找类程序可以进来看看
*/
function uploadimage($upname,$smallmark=1,$dstsw,$dstsh=0,$path_dim,$path_xim,$newname,$smallname=0,$filetype="null") {
global $webaddr,$_files,$my;
$phpv=str_replace('.', '', php_version);
$filename=$upname;
$max_file_size = 2147483648; //上传文件大小限制, 单位byte 2m
$path_im = $path_dim; //生成大图保存文件夹路径
$path_sim = $path_xim; //缩略图保存文件夹路径
$simclearly=75;
$simclearlypng =$phpv>=512?7:75; //缩略图清晰度0-100,数字越大越清晰,文件尺寸越大
$smallmark = $smallmark; //是否生成缩略图(1为加生成,其他为不);
$dst_sw =$dstsw; //定义缩略图宽度,高度我采用等比例缩放,所以只要比较宽度就可以了
$uptypes=array(
'image/jpg',
'image/jpeg',
'image/png',
'image/pjpeg',
'image/gif',
'image/bmp',
'image/x-png'
);if (!is_uploaded_file($_files[$filename][tmp_name])) {
dsetcookie('setok','upload1');
header("location:bKjia.c0m/profile");
exit;
}
$file = $_files[$filename];
$pinfo = pathinfo($file["name"]);
if ($filetype=="null") {
$filetype = $pinfo['extension'];
}
if (!in_array(strtolower($pinfo['extension']),array("jpg","jpeg","png","gif"))) {
dsetcookie('setok','upload3');
header("location:bKjia.c0m/profile");
exit;
}if($max_file_size dsetcookie('setok','upload2');
header("location:bKjia.c0m/profile");
exit;
}
if(!in_array($file["type"],$uptypes)) { //检查文件类型
dsetcookie('setok','upload3');
header("location:bKjia.c0m/profile");
exit;
}
if(!file_exists($path_im)) {
mkdir($path_im);
}$filename = $file["tmp_name"];
$im_size = getimagesize($filename);$src_w = $im_size[0];
$src_h = $im_size[1];
$src_type = $im_size[2];$all_path = $path_im.$newname.".".$filetype;//路径+文件名,目前以上传时间命名
if (file_exists($all_path)) {
@unlink($all_path);
}
if(!move_uploaded_file ($filename,$all_path)) {
dsetcookie('setok','upload4');
header("location:bKjia.c0m/profile");
exit;
}
$pinfo = pathinfo($all_path);
$fname = $pinfo[basename];switch($src_type) {//判断源图片文件类型
case 1://gif
$src_im = @imagecreatefromgif($all_path);//从源图片文件取得图像
break;
case 2://jpg
$src_im = @imagecreatefromjpeg($all_path);
break;
case 3://png
$src_im = @imagecreatefrompng($all_path);
break;
//case 6:
//$src_im=imagecreatefromwbmp($all_path);
//break;
default:
dsetcookie('setok','upload3');
header("location:bKjia.c0m/profile");
exit;
}if($smallmark == 1) {
if(!file_exists($path_sim)) {//检查缩略图目录是否存在,不存在创建
mkdir($path_sim);
}
if ($smallname) $newname=$smallname;
$sall_path = $path_sim.$newname.".".$filetype;
if (file_exists($sall_path)) {
@unlink($sall_path);
}
if($src_w if ($dstsh==0) {
$dst_sim = @imagecreatetruecolor($src_w,$src_h); //新建缩略图真彩位图
$sx=$sy=0;
} else {
$dst_sim = @imagecreatetruecolor($dstsw,$dstsh); //新建缩略图真彩位图
$sx=($dstsw-$src_w)/2;
$sy=($dstsh-$src_h)/2;
}
$img = @imagecreatefrompng("images/phbg.png");
@imagecopymerge($dst_sim,$img,0,0,0,0,$dstsw,$dstsh,100); //原图图像写入新建真彩位图中
@imagecopymerge($dst_sim,$src_im,$sx,$sy,0,0,$src_w,$src_h,100); //原图图像写入新建真彩位图中
}if($src_w > $dst_sw) { // 原图尺寸 > 缩略图尺寸
$dst_sh = $dst_sw/$src_w*$src_h;
if ($dst_sh $dst_sh=$dstsh;
$dst_sw=$dst_sh/$src_h*$src_w;
}
if ($dstsh==0) {
$dst_sim = @imagecreatetruecolor($dst_sw,$dst_sh); //新建缩略图真彩位图(等比例缩小原图尺寸)
} else {
$dst_sim = @imagecreatetruecolor($dstsw,$dstsh); //新建缩略图真彩位图(等比例缩小原图尺寸)
}
@imagecopyresampled($dst_sim,$src_im,0,0,0,0,$dst_sw,$dst_sh,$src_w,$src_h); //原图图像写入新建真彩位图中
}switch($src_type) {
case 1:@imagegif($dst_sim,$sall_path,$simclearly);//生成gif文件,图片清晰度0-100
break;
case 2:@imagejpeg($dst_sim,$sall_path,$simclearly);//生成jpg文件,图片清晰度0-100
break;
case 3:@imagepng($dst_sim,$sall_path,$simclearlypng);//生成png文件,图片清晰度0-100
break;
//case 6:
//imagewbmp($dst_sim,$sall_path);
break;
}
//释放缓存
@imagedestroy($dst_sim);
}
@imagedestroy($src_im);
return $newname.".".$filetype;
}
?>

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 Linux new version
SublimeText3 Linux latest version

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

WebStorm Mac version
Useful JavaScript development tools