php 图片上传与裁剪
<?php //print_r($_FILES["upfile"]); $height = $_POST["h"]; $width = $_POST["w"]; $pos_x = $_POST["x1"]; $pos_y = $_POST["y1"]; //image_file是你的input的name名字 if(@ is_uploaded_file($_FILES["image_file"]["tmp_name"])){ echo "111"; $upfile=$_FILES["image_file"]; //获取数组里面的值 $name=$upfile["name"];//上传文件的文件名 $type=$upfile["type"];//上传文件的类型 $size=$upfile["size"];//上传文件的大小 $tmp_name=$upfile["tmp_name"];//上传文件的临时存放路径 //判断是否为图片 switch ($type){ case "image/pjpeg":$okType=true; break; case "image/jpeg":$okType=true; break; case "image/png":$okType=true; break; } if($okType){ /** * 0:文件上传成功<br/> * 1:超过了文件大小,在php.ini文件中设置<br/> * 2:超过了文件的大小MAX_FILE_SIZE选项指定的值<br/> * 3:文件只有部分被上传<br/> * 4:没有文件被上传<br/> * 5:上传文件大小为0 */ $error=$upfile["error"];//上传后系统返回的值 cut_img($tmp_name, $width, $height, $name, $type); $des = $name; //移动到目的地址 //move_uploaded_file($tmp_name,$des); $destination=$name; echo "================<br/>"; echo "上传信息:<br/>"; if($error==0){ echo "文件上传成功啦!"; echo "<br>图片预览:<br>"; echo "<img src=".$destination.">"; }elseif ($error==1){ echo "超过了文件大小,在php.ini文件中设置"; }elseif ($error==2){ echo "超过了文件的大小MAX_FILE_SIZE选项指定的值"; }elseif ($error==3){ echo "文件只有部分被上传"; }elseif ($error==4){ echo "没有文件被上传"; }else{ echo "上传文件大小为0"; } }else{ echo "请上传jpg,gif,png等格式的图片!"; } } function cut_img($img,$w,$h, $save_address, $type_img){ //要裁减的图片,宽度,高度 echo $type_img; if($type_img == "image/pjpeg" || $type_img == "image/jpeg") $s = imagecreatefromjpeg($img); else if($type_img == "image/png") $s = imagecreatefrompng($img); $w = imagesx($s)<$w?imagesx($s):$w; //如果图片的宽比要求的小,则以原图宽为准 $h = imagesy($s)<$w?imagesy($s):$h; $bg = imagecreatetruecolor($w,$h); //创建$w*$h的空白图像 if(imagecopy($bg,$s,0,0,0,0,$w,$h)){ if(imagejpeg($bg,$save_address)){ //将生成的图片保存到img/new_img.jpg echo "success"; }else{ echo "false"; } }else{ echo "false"; } //imagecopy ($dst_im,$src_im,$dst_x,$dst_y,$src_x,$src_y,$src_w,$src_h); imagedestroy($s); //关闭图片 imagedestroy($bg); //这里只写了几个主要操作,你可以再加上开始裁减的坐标,也就是imagecopy中的第5,第6两个参数,那么在判断$w和$h的地方也要相应的剪掉开始没算进去的部分, //然后保存路径是否存在的判断等 } ?>
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: HTML + js 实现简单的钟表