麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PHP > 正文

PHP實現圖片上傳并壓縮

2024-05-04 23:41:15
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP實現圖片上傳并壓縮的相關資料,上傳圖片然后按照比例縮略圖,感興趣的小伙伴們可以參考一下
 

本文實例講解了PHP圖片上傳并壓縮的實現方法,分享給大家供大家參考,具體內容如下

使用到三個文件

  • connect.php:連接數據庫
  • test_upload.php:執行SQL語句
  • upload_img.php:上傳圖片并壓縮

三個文件代碼如下:
連接數據庫:connect.php

<?php$db_host = '';$db_user = '';$db_psw = '';$db_name = '';$db_port = '';$sqlconn=new mysqli($db_host,$db_user,$db_psw,$db_name);$q="set names utf8;";$result=$sqlconn->query($q);if (mysqli_connect_errno()) { printf("Connect failed: %s/n", mysqli_connect_error()); exit();}?>

執行SQL語句:test_upload.php

<?phprequire ("connect.php");require ("upload_img.php");$real_img=$uploadfile; $small_img=$uploadfile_resize;$insert_sql = "insert into img (real_img,small_img) values (?,?)";$result = $sqlconn -> prepare($insert_sql);$result -> bind_param("ss", $real_img,$small_img);$result -> execute();?>

上傳圖片并壓縮upload_img.php

<?php //設置文件保存目錄$uploaddir = "upfiles/"; //設置允許上傳文件的類型$type=array("jpg","gif","bmp","jpeg","png"); //獲取文件后綴名函數 function fileext($filename) {  return substr(strrchr($filename, '.'), 1); } //生成隨機文件名函數 function random($length) {  $hash = 'CR-';  $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';  $max = strlen($chars) - 1;  mt_srand((double)microtime() * 1000000);  for($i = 0; $i < $length; $i++)  {   $hash .= $chars[mt_rand(0, $max)];  }  return $hash; } $a=strtolower(fileext($_FILES['filename']['name'])); //判斷文件類型 if(!in_array(strtolower(fileext($_FILES['filename']['name'])),$type)) {  $text=implode(",",$type);  $ret_code=3;//文件類型錯誤 $page_result=$text; $retArray = array('ret_code' => $ret_code,'page_result'=>$page_result); $retJson = json_encode($retArray); echo $retJson; return;} //生成目標文件的文件名 else{  $filename=explode(".",$_FILES['filename']['name']);  do  {   $filename[0]=random(10); //設置隨機數長度   $name=implode(".",$filename);   //$name1=$name.".Mcncc";   $uploadfile=$uploaddir.$name;  }  while(file_exists($uploadfile));  if (move_uploaded_file($_FILES['filename']['tmp_name'],$uploadfile))  {   if(is_uploaded_file($_FILES['filename']['tmp_name']))   {   $ret_code=1;//上傳失敗  }  else  {//上傳成功  $ret_code=0; }  } $retArray = array('ret_code' => $ret_code);$retJson = json_encode($retArray);echo $retJson;}//壓縮圖片$uploaddir_resize="upfiles_resize/";$uploadfile_resize=$uploaddir_resize.$name;//$pic_width_max=120;//$pic_height_max=90;//以上與下面段注釋可以聯合使用,可以使圖片根據計算出來的比例壓縮$file_type=$_FILES["filename"]['type'];function ResizeImage($uploadfile,$maxwidth,$maxheight,$name){ //取得當前圖片大小 $width = imagesx($uploadfile); $height = imagesy($uploadfile); $i=0.5; //生成縮略圖的大小 if(($width > $maxwidth) || ($height > $maxheight)) {  /*  $widthratio = $maxwidth/$width;  $heightratio = $maxheight/$height;    if($widthratio < $heightratio)  {   $ratio = $widthratio;  }  else  {    $ratio = $heightratio;  }    $newwidth = $width * $ratio;  $newheight = $height * $ratio;  */  $newwidth = $width * $i;  $newheight = $height * $i;  if(function_exists("imagecopyresampled"))  {   $uploaddir_resize = imagecreatetruecolor($newwidth, $newheight);   imagecopyresampled($uploaddir_resize, $uploadfile, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);  }  else  {   $uploaddir_resize = imagecreate($newwidth, $newheight);   imagecopyresized($uploaddir_resize, $uploadfile, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);  }    ImageJpeg ($uploaddir_resize,$name);  ImageDestroy ($uploaddir_resize); } else {  ImageJpeg ($uploadfile,$name); }}if($_FILES["filename"]['size']){ if($file_type == "image/pjpeg"||$file_type == "image/jpg"|$file_type == "image/jpeg") {  //$im = imagecreatefromjpeg($_FILES[$upload_input_name]['tmp_name']);  $im = imagecreatefromjpeg($uploadfile); } elseif($file_type == "image/x-png") {  //$im = imagecreatefrompng($_FILES[$upload_input_name]['tmp_name']);  $im = imagecreatefromjpeg($uploadfile); } elseif($file_type == "image/gif") {  //$im = imagecreatefromgif($_FILES[$upload_input_name]['tmp_name']);  $im = imagecreatefromjpeg($uploadfile); } else//默認jpg {  $im = imagecreatefromjpeg($uploadfile); } if($im) {  ResizeImage($im,$pic_width_max,$pic_height_max,$uploadfile_resize);   ImageDestroy ($im); }} ?>

請按照現實情況更改connect.php,test_upload.php中對應的信息。

以上就是PHP實現圖片上傳并壓縮的方法,希望對大家的學習php程序設計有所幫助



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 56av国产精品久久久久久久 | 九九视屏 | 欧美成人黄色 | 操碰网 | 污污黄 | 亚洲一级电影在线观看 | 成人性视频免费网站下载软件 | 国产乱色精品成人免费视频 | 欧美黄 片免费观看 | 欧美一级高潮 | 亚洲骚图 | 一级爱片| 久久久久北条麻妃免费看 | 黄色羞羞视频在线观看 | 中文字幕在线观看视频www | 欧美日韩在线中文 | 成人在线网站 | h色网站免费观看 | arabxxxxvideos | 99精品视频免费 | 毛片福利 | 久久精品中文字幕一区二区三区 | 欧美精品99 | 国产资源在线播放 | 亚洲99| tube69xxxxxhd| 日韩视频在线观看免费视频 | 久青草免费视频 | omofun 动漫在线观看 | 日韩一级毛毛片 | 黄色羞羞 | 日韩av片网站 | 一级国产电影 | 久久综合综合 | 亚洲小视频在线观看,com | 欧美不卡视频在线观看 | 男女污污视频网站 | 无遮挡一级毛片视频 | 亚洲一区二区成人 | 欧美a在线播放 | 黄色免费av网站 |