电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

PHP 上傳圖片并壓縮方法

瀏覽:132日期:2022-09-12 11:37:00

使用到三個(gè)文件

connect.php:連接數(shù)據(jù)庫用 test_upload.php:執(zhí)行SQL語句用 upload_img.php:上傳圖片并壓縮用

三個(gè)文件代碼如下:

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: %sn', mysqli_connect_error());exit();}?>

<p><b>test_upload.php</b></p><?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 //設(shè)置文件保存目錄$uploaddir = 'upfiles/'; //設(shè)置允許上傳文件的類型$type=array('jpg','gif','bmp','jpeg','png'); //獲取文件后綴名函數(shù) function fileext($filename) { return substr(strrchr($filename, ’.’), 1); } //生成隨機(jī)文件名函數(shù) 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;//文件類型錯(cuò)誤 $page_result=$text; $retArray = array(’ret_code’ => $ret_code,’page_result’=>$page_result); $retJson = json_encode($retArray); echo $retJson; return;} //生成目標(biāo)文件的文件名 else{ $filename=explode('.',$_FILES[’filename’][’name’]); do { $filename[0]=random(10); //設(shè)置隨機(jī)數(shù)長度 $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;//以上與下面段注釋可以聯(lián)合使用,可以使圖片根據(jù)計(jì)算出來的比例壓縮$file_type=$_FILES['filename'][’type’];function ResizeImage($uploadfile,$maxwidth,$maxheight,$name){ //取得當(dāng)前圖片大小 $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//默認(rèn)jpg {$im = imagecreatefromjpeg($uploadfile); } if($im) {ResizeImage($im,$pic_width_max,$pic_height_max,$uploadfile_resize); ImageDestroy ($im); }} ?>

請按照現(xiàn)實(shí)情況更改connect.php,test_upload.php中對應(yīng)的信息。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 小程序开发公司-小程序制作-微信小程序开发-小程序定制-咏熠软件 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 武汉高低温试验机-现货恒温恒湿试验箱-高低温湿热交变箱价格-湖北高天试验设备 | 硅胶制品-硅橡胶制品-东莞硅胶制品厂家-广东帝博科技有限公司 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | PE一体化污水处理设备_地埋式生活污水净化槽定制厂家-岩康塑业 | ISO9001认证咨询_iso9001企业认证代理机构_14001|18001|16949|50430认证-艾世欧认证网 | 山东商品混凝土搅拌楼-环保型搅拌站-拌合站-分体仓-搅拌机厂家-天宇 | PU树脂_水性聚氨酯树脂_聚氨酯固化剂_聚氨酯树脂厂家_宝景化工 | 深圳市东信高科自动化设备有限公司 | 全自动在线分板机_铣刀式在线分板机_曲线分板机_PCB分板机-东莞市亿协自动化设备有限公司 | SOUNDWELL 编码器|电位器|旋转编码器|可调电位器|编码开关厂家-广东升威电子制品有限公司 | 蔬菜配送公司|蔬菜配送中心|食材配送|饭堂配送|食堂配送-首宏公司 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 行吊_电动单梁起重机_双梁起重机_合肥起重机_厂家_合肥市神雕起重机械有限公司 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 玻璃钢型材_拉挤模具_玻璃钢拉挤设备——滑县康百思 | 心得体会网_心得体会格式范文模板| 炒货机-炒菜机-炒酱机-炒米机@霍氏机械 | 高铝砖-高铝耐火球-高铝耐火砖生产厂家-价格【荣盛耐材】 | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | 岩石钻裂机-液压凿岩机-劈裂机-挖改钻_湖南烈岩科技有限公司 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 加盟店-品牌招商加盟-创业项目商机平台| 上海办公室装修,办公楼装修设计,办公空间设计,企业展厅设计_写艺装饰公司 | 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 万濠投影仪_瑞士TRIMOS高度仪_尼康投影仪V12BDC|量子仪器 | 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | 有声小说,听书,听小说资源库-听世界网 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 南京兰江泵业有限公司-水解酸化池潜水搅拌机-絮凝反应池搅拌机-好氧区潜水推进器 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 沈阳网站建设_沈阳网站制作_沈阳网页设计-做网站就找示剑新零售 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 |