php上传图片代码

先处理前端发来的数据

/*
*处理发来的数据
*
*
*/
function handleWindows($data){
	$arr = array();
	if($data['time'] == 1){
		$uploads = 'uploads1';//传值到函数中
		$photoName = photo($uploads);//接受结果
		//将大数组拆分为小数组
		$cwindowsName = array();//窗口名
		$cwindowsIntroduce = array();//窗口介绍
		$cwindowsPhoto = array();//图片名
		//传值
		$cwindowsName = $data['windowsName1'];
		$cwindowsIntroduce = $data['windowsIntroduce1'];
		$cwindowsPhoto = $photoName;
		//存数据库
		$sql = "INSERT into t_window (itworkerId,cwindowsName,cwindowsIntroduce,cwindowsPhoto) values (0,'".$cwindowsName."','".$cwindowsIntroduce."','".$cwindowsPhoto."');";
		$num = PDODB::setsql($sql);
		if($num == 0){
			$arr['state'] = 'insertNo';
		}else{
			$arr['state'] = 'insertOk';
		}
	}else{
		$cwindowsName = array();//窗口名
		$cwindowsIntroduce = array();//窗口介绍
		$cwindowsPhoto = array();//图片名
		$str = '';//sql的值部分
		for($i=1;$i<=$data['time'];$i++){
			$cwindowsName[$i] = $data['windowsName'.$i];
			$cwindowsIntroduce[$i] = $data['windowsIntroduce'.$i];
			$uploads = 'uploads'.$i;//传值到函数中
			$cwindowsPhoto[$i] = photo($uploads);//接受结果
			$str = $str."(0,'".$cwindowsName[$i]."','".$cwindowsIntroduce[$i]."','".$cwindowsPhoto[$i]."')";
			if($i != $data['time']){
				$str = $str.",";
			}
		}
		$sql = "INSERT into t_window (itworkerId,cwindowsName,cwindowsIntroduce,cwindowsPhoto) values ";
		$sql = $sql.$str;
		$num = PDODB::setsql($sql);
		echo $num;
		if($num == 0){
			$arr['state'] = 'insertNo';
		}else{
			$arr['state'] = 'insertOk';
		}
	}
	echo json_encode($arr);
}

处理图片部分

<?php
/*
*专门处理图片的文件
*处理发来的图片
*还有等比例缩小的操作
*
*/
function photo($uploads='uploads1'){
	$dest_folder = '../admin/img/';//上传图片路径
	$tmp_name = $_FILES[$uploads]['tmp_name'];//这个参数是重点
	$a = explode('.',$_FILES[$uploads]['name']);//截取文件名后缀
	$name = date("YmdHis").mt_rand(100,999).".".$a[1];//文件的从命名
	$uploadfile = $dest_folder.$name;//文件的路径
	move_uploaded_file($tmp_name,$uploadfile);//将图片移到指定目录下
	header("Content-type:text/html;charset = utf-8");
	//echo "图片1上传成功;".$uploadfile."";
	//等比例缩小的操作
	/*
	步骤:
	1.打开图片源文件资源
	2.获得源文件的宽高
	3.使用固定的公式计算新的宽高
	4.生成目标图像资源
	5.进行缩放
	6.保存图像
	7.释放资源
	*/
	//1.打开图片源文件资源
	$im = imagecreatefromjpeg($uploadfile);
	//2.获得源文件的宽高
	$fx = imagesx($im); // 获取宽度
	$fy = imagesy($im); // 获取高度
	//3.使用固定的公式计算新的宽高
	if(($fx>304)&&($fy>304)){
		if($fx>$fy){
			$sx = 304;
			$sy = $fy*304/$fx;
		}else{
			$sx = $fx*304/$fy;
			$sy = 304;
		}
	}elseif(($fx<304)&&($fy<304)){
		$sx = $fx;
		$sy = $fy;
	}elseif(($fx>304)&&($fy<304)){
		$sx = 304;
		$sy = $fy*304/$fx;
	}elseif(($fx<304)&&($fy>304)){
		$sx = $fx*304/$fy;
		$sy = 304;
	}
	//4.生成目标图像资源
	$small = imagecreatetruecolor($sx,$sy);
	//5.进行缩放
	imagecopyresampled($small,$im,0,0,0,0,$sx,$sy,$fx,$fy);
	//6.保存图像
	if(imagejpeg($small,'../admin/insertImage/'.$name)) {//图片的新地址,$name是图片名
	} else {
		$arr = array();
		$arr["state"] = "photoNotOk";
		echo json_encode($arr);
	}
	//7.释放资源
	imagedestroy($im);
	imagedestroy($small);
	return $name;
	echo json_encode('handleOk');
}

?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值