上传图片并生成相关缩略图-PHP

if(!empty($_FILES["fileField"]["name"])){//检测表单传递文件数据
$fileinfo = $_FILES["fileField"];
if($fileinfo['size'] < 10000000 && $fileinfo['size'] > 0){//大小筛选
if($fileinfo['type'] == 'image/jpeg'||'image/jpg'||'image/png'||'image/gif' ){//类型筛选
if(!file_exists("./uploadimages")){
mkdir("./uploadimages");
}
move_uploaded_file($fileinfo['tmp_name'],"uploadimages/".$fileinfo['name']) or die("文件上传失败");
$path=(string)$fileinfo['name'];

$sql="insert into banner values(' ','$path','$alt','$riqi',' ','$url')";
$insert_id=mysql_query($sql);
if($insert_id){
makezoom("uploadimages/".$fileinfo['name'],200,100,'uploadimages/200_100/');
makezoom("uploadimages/".$fileinfo['name'],1920,900,'uploadimages/1920_900/');
echo "<script>alert('添加成功');</script>";
echo "<script language=\"javascript\">setTimeout('window.history.back(-1)',0);</script>";

}else{
$error=mysql_error();
echo $error;
//echo "<script>alert('添加失败'.$error);</script>";
echo "<script language=\"javascript\">setTimeout('window.history.back(-1)',3000);</script>";
}



}else{echo "(请上传正确格式的图片,jpg,png,gif)";
echo "<script language=\"javascript\">setTimeout('window.history.back(-1)',3000);</script>";}

}else{
echo ("图片过大或者未知...");
echo "<script language=\"javascript\">setTimeout('window.history.back(-1)',3000);</script>";
}
}
function  makezoom($src='moban.com/images/bg1.jpg',$width=200,$height=200,$dir = 'uploadimages/200_200/',$delsrc=false)//产生缩略图函数
{
if(!file_exists($dir)){
mkdir($dir);
}
$srcInfo = getimagesize($src);//获取图片信息数组
$srcType = image_type_to_extension($srcInfo[2], false);//获取图片类型
$fun = 'imagecreatefrom' . $srcType;//由图片文件创建图像资源
$srcImage = $fun($src);
//创建缩略图资源
//$scale = $srcInfo[0] / $srcInfo[1];
//$height = $width / $scale;
$zoomImg = imagecreatetruecolor($width, $height);
//图像资源放到缩略图资源上
imagecopyresampled($zoomImg, $srcImage, 0, 0, 0, 0, $width, $height, $srcInfo[0], $srcInfo[1]);
//输出缩略图资源

$output = 'image' . $srcType;
$output($zoomImg, $dir. basename($src));
//销毁资源
imagedestroy($srcImage);
imagedestroy($zoomImg);
//删除原图
if($delsrc){
unlink($src);
}
}

转载于:https://www.cnblogs.com/xjphp/p/7160930.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值