php jcrop,PHP调整Jcrop截取的上传头像功能
/** * 20150520 11:50 * 作者:Ro * 修改時間 20150522 13:50 * 修改內容 合并上傳和截取圖片功能 * 修改時間 20150527 15:23 * 修改內容 判斷png和jpg而作對應操作 *//******************************************************************************參數說明:$max_file_size : 上傳文件大小限制, 單位BYTE$destination_folder : 上傳文件路徑使用說明:1. 將PHP.INI文件里面的"extension=php_gd2.dll"一行前面的;號去掉,因為我們要用到GD庫;2. 將extension_dir =改為你的php_gd2.dll所在目錄;******************************************************************************///上傳文件類型列表$uptypes=array( 'image/jpg', 'image/jpeg', 'image/png' );//上傳文件大小限制, 單位BYTE$max_file_size=2000000; //上傳文件路徑'../uppict/'$destination_folder="../uppict/"; //請求上傳圖片操作if ($_SERVER['REQUEST_METHOD'] == 'POST' && 'up'==$_GET['mothed']){ //是否存在文件 if (!is_uploaded_file($_FILES["upfile"]["tmp_name"])) { echo "圖片不存在!"; exit; } $file = $_FILES["upfile"]; //檢查文件大小 if($max_file_size < $file["size"]) { echo "文件太大!"; exit;} //檢查文件類型if(!in_array($file["type"], $uptypes)){ echo "文件類型不符!".$file["type"]; exit;}if(!file_exists($destination_folder)){ mkdir($destination_folder);} //獲取信息$filename=$file["tmp_name"];$image_size = getimagesize($filename);$pinfo=pathinfo($file["name"]);$ftype=$pinfo['extension']; //可以在這修改上傳后圖片的名字,這里以time()為命名$destination = $destination_folder.time().".".$ftype; //檢查是否已經存在同名文件if (file_exists($destination) && $overwrite != true){ echo "同名文件已經存在了"; exit;} //上傳圖片操作if(!move_uploaded_file ($filename, $destination)){ echo "移動文件出錯"; exit;} //獲取信息$pinfo=pathinfo($destination);$fname=$pinfo['basename']; //重定向瀏覽器header('Location: http://'.$_SERVER['HTTP_HOST'].'/uppic/views/croppic.php?name='.$fname); //確保重定向后,后續代碼不會被執行exit;}//請求截圖保存操作else if ($_SERVER['REQUEST_METHOD'] == 'POST' && 'crop'==$_GET['mothed']){ //獲取圖片名 $name=$_GET['name']; //高寬 $targ_w = $targ_h = 150; /** *范圍從 0(最差質量,文件更小) *到 100(最佳質量,文件最大)。 *默認為 IJG 默認的質量值(大約 75) */ $jpeg_quality = 90; //圖片暫放地址'../uppict/' $src = "../uppict/".$_GET['name']; //分開圖片名和圖片后綴 $arr_name = explode ( ".", $name ); //判斷圖片后綴選擇新建圖片方式 $img_r =''; if ('png' == $arr_name [1]) { $img_r = imagecreatefrompng ( $src ); } else { $img_r = imagecreatefromjpeg ( $src ); } $dst_r = ImageCreateTrueColor( $targ_w, $targ_h ); //截取圖片 imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],$targ_w,$targ_h,$_POST['w'],$_POST['h']); //判斷圖片后綴選擇生成圖片 //保存位置'../userpic/'// 生成圖片 if ('png' == $arr_name [1]) { imagepng ( $dst_r, '../userpic/' . $name ); } else { imagejpeg ( $dst_r, '../userpic/' . $name, $jpeg_quality ); } //顯示保存后的圖片 echo '
$name.'" />'; exit;}?>
總結
以上是生活随笔為你收集整理的php jcrop,PHP调整Jcrop截取的上传头像功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【备忘录】为Windows10 LTSC
- 下一篇: usbserver项目案例4,usbse