php上传图片并压缩-thinkphp如何做图片压缩呢?
比如(什么?)上面有不同大小的图片--------语文表达缺主语,含糊导致无法理解。
服务器上面?客户机上面?具体什么软件环境上面?
“有不同大小的图片”,已经存在的图片通常已经压缩过的,像JPEG更是有损压缩。再次压缩必定再次会降低画质。PHP可以再次处理图片,但画质和存储大小不能兼得,画质好就存储大,要存储小就画质差,根据自己的画质需求处理。
thinkphp如何做图片压缩呢?在上传图片的时候先看看图片有多大,一般来说导航幻灯片的图片单张大小尽量不超100k,产品图不超过20k,这样加载还慢的话就用ajax后加载方法,可以是滚动加载之类,但是对蜘蛛抓取页面并不是很友好。
至于你说的用tp把图片压缩,那只能是将图片的尺寸改成你想要的尺寸,大小的话是web所用格式大小,等页面加载完你又换原图,这样相当于又加载了一遍,还不如做ajax滚动加载。
PHP网站上传图片自动压缩,怎么编程啊,求指这里会使用到三个文件:
:连接数据库
test_:执行SQL语句
upload_:上传图片并压缩
三个文件代码如下:
连接数据库:
<?php
$db_host='';
$db_user='';
$db_psw='';
$db_name='';
$db_port='';
$sqlconn=new_ysqli($db_host,$db_user,$db_psw,$db_name);
$q="set_ames_tf8;";
$result=$sqlconn->query($q);
if(mysqli_connect_errno())_
_rintf("Connect_ailed:%s
",_ysqli_connect_error());
_xit();
}
?>
当然使用一些封装的数据库类也是可以的。
执行SQL语句:test_
<?php
require("");
require("upload_");
$real_img=$uploadfile;
$small_img=$uploadfile_resize;
$insert_sql="insert_nto_mg(real_img,small_img)_alues(?,?)";
$result=$sqlconn->_repare($insert_sql);
$result->_ind_param("ss",$real_img,$small_img);
$result->_xecute();
?>
上传图片并压缩:upload_
<?php
//设置文件保存目录
$uploaddir="upfiles/";
//设置允许上传文件的类型
$type=array("jpg","gif","bmp","jpeg","png");
//获取文件后缀名函数
function_ileext($filename)
{
_eturn_ubstr(strrchr($filename,'.'),1);
}
//生成随机文件名函数
function_andom($length)
{
$hash='CR-';
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$max=_trlen($chars)-1;
_t_srand((double)microtime()*1000000);
_or($i=0;$i<$length;$i++)
_
_$hash.=$chars[mt_rand(0,$max)];
_
_eturn$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=_rray('ret_code'=>$ret_code,'page_result'=>$page_result);
$retJson=_son_encode($retArray);
_cho$retJson;
_eturn;
}
//生成目标文件的文件名
else
{
$filename=explode(".",$_FILES['filename']['name']);
_o
_
_$filename[0]=random(10);//设置随机数长度
_$name=implode(".",$filename);
_//$name1=$name.".Mcncc";
_$uploadfile=$uploaddir.$name;
_
_hile(file_exists($uploadfile));
_f(move_uploaded_file($_FILES['filename']['tmp_name'],$uploadfile))
_
_if(is_uploaded_file($_FILES['filename']['tmp_name']))
_{
_$ret_code=1;//上传失败
_}
_lse
_//上传成功
_$ret_code=0;
_
_
$retArray=_rray('ret_code'=>$ret_code);
$retJson=_son_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_esizeImage($uploadfile,$maxwidth,$maxheight,$name)
{
//取得当前图片大小
$width=_magesx($uploadfile);
$height=_magesy($uploadfile);
$i=0.5;
//生成缩略图的大小
_f(($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=_magecreatetruecolor($newwidth,$newheight);
__magecopyresampled($uploaddir_resize,$uploadfile,0,0,0,0,$newwidth,$newheight,$width,$height);
_}
_else
_{
_$uploaddir_resize=_magecreate($newwidth,$newheight);
__magecopyresized($uploaddir_resize,$uploadfile,0,0,0,0,$newwidth,$newheight,$width,$height);
_}
_
_ImageJpeg($uploaddir_resize,$name);
_ImageDestroy($uploaddir_resize);
_
_lse
_
_ImageJpeg($uploadfile,$name);
_
}
if($_FILES["filename"]['size'])
{
_f($file_type=="image/pjpeg"||$file_type=="image/jpg"|$file_type=="image/jpeg")
_
_//$im=_magecreatefromjpeg($_FILES[$upload_input_name]['tmp_name']);
_$im=_magecreatefromjpeg($uploadfile);
_
_lseif($file_type=="image/x-png")
_
_//$im=_magecreatefrompng($_FILES[$upload_input_name]['tmp_name']);
_$im=_magecreatefromjpeg($uploadfile);
_
_lseif($file_type=="image/gif")
_
_//$im=_magecreatefromgif($_FILES[$upload_input_name]['tmp_name']);
_$im=_magecreatefromjpeg($uploadfile);
_
_lse//默认jpg
_
_$im=_magecreatefromjpeg($uploadfile);
_
_f($im)
_
_ResizeImage($im,$pic_width_max,$pic_height_max,$uploadfile_resize);
_
_ImageDestroy($im);
_
}
?>
请按照现实情况更改,test_中对应的信息。
望采纳,谢谢。
怎么把照片压缩在一个文件包里面?
1、将需要压缩的图片放在一个文件夹内。2、选中该文件夹,点击鼠标右键,再选择添加到压缩文件。3、可以根据需要设置好压缩文件名,文件格式,压缩方式等等,设置完点击确定。4、最后就可以得到一个压缩好的文件包了。
照片怎么压缩?神操作不影响清晰度!体积减10倍画质几乎不变
步骤1: 打开你电脑上的PS也就是Photoshop软件;步骤2: 点击左上角的文件,选择打开,然后选择要被压缩的图片;步骤3: 再次点击左上角的文件——导出——存储为Web所用格式;步骤4: 依次进行如下设置,①预设改为jpg高,②品质改为75%(原因是超过75%人画质提高不大但体积增加较大)...
怎么把word里的图片压缩变小?
1、打开需要压缩图片的Word文档。2、点击一下图片,再点击图片工具下的压缩图片。3、跳出压缩图片窗口后,应用于选择文档中的所有图片,要想图片变小,就要勾选更改分辨率,选择网页\/屏幕,然后点击确定。4、最后点击保存就可以了。等你重新查看该Word文档,文件的大小已经发生改变,因为压缩了图片,占用的...
wps图片怎么调整大小
WPS的图片在设置对象格式中调整图片大小。下面我就演示一下详细的操作步骤❥(ゝω・✿ฺ) (电脑型号:惠普 (HP) 暗影精灵8Pro,软件及版本号:WPS 11.1.0.13703) 1、打开WPS软件,并找到需要调整图片大小的照片,如下图。 2、选中图片后,点击鼠标右键,选择设置对象格式。 3、跳出属性菜单,点击大小与属性,在...
HP StorageWorks Ultrium960e (Q1539A)的压缩比是多少?
HP StorageWorks Ultrium960e (Q1539A)是一款性能卓越的磁带存储设备。它具有400GB的原始存储容量,通过先进的压缩技术,能够将存储空间扩展至800GB,大大提升了数据存储效率。该设备采用的是Ultra320 SCSI (LVDS)接口,保证了数据传输的高速和稳定性,其持续传输率高达80MB\/s,满足了现代企业对数据传输...
怎么批量调整复制到word中文档中图片的大小?
1、如果是word2003及以下版本,则按下列步骤进行:右键文档里其中任何一张图片-设置图片格式-图片-压缩-选“文档中所有图片”-更改分辨率为“Web\/屏幕”-下边“压缩图片”和“删除图片的剪裁区域”全选中,最后点击确定,如果图片较多,要稍等一会,电脑才能处理完。2、如果是word2007及以上版本,则...
zip文件怎么转换成rar文件
zip文件无法直接转换成rar文件的,需要先解压,然后重新再压缩就可以了。下面我就演示一下详细的操作步骤❥(ゝω・✿ฺ) (电脑型号:惠普 (HP) 暗影精灵8Pro,软件及版本号:WinRAR 6.01) 1、找到需要解压的ZIP文件。 2、选中文件后,点击鼠标右键,点击解压到当前文件夹。 3、然后就可以得到压缩后的文件。 4...
计算机的图片格式有多少种,还有它们各自的优点是什么
PCX文件采用RLE行程编码,文件体中存放的是压缩后的图像数据。因此,将采集到的图像数据写成PCX文件格式时,要对其进行RLE编码:而读取一个PCX文件时首先要对其进行RLE解码,才能进一步显示和处理。 三、TIFF图像文件格式 TIFF(TaglmageFileFormat)图像文件是由Aldus和Microsoft公司为桌上出版系统研制开发的一种较为通用的...
关于HP 上网本 利用系统自带的压缩卷功能分区 win7的系统
win7只能有4个主分区或者三个主分区加一个扩展分区(可包含多个逻辑分区),所以要把一个主分区或者扩展分区删除,把这105.24GB与其合并,再新建分区才行
rar怎么转换成zip
rar文件无法直接转换zip文件的,先解压,然后重新再压缩就可以了。 (电脑型号:惠普 (HP) 暗影精灵8Pro,软件及版本号:WinRAR 6.01) 1、在电脑找到需要解压的rar文件。 2、选中文件后,点击鼠标右键,再点击解压到当前文件夹。 3、然后就可以得到压缩后的文件。 4、选中解压后的文件,点击鼠标右键,选择添加到压缩文件...
容义双歧: // The file$filename = 'test.jpg';$percent = 0.5;// Content type header('Content-Type: image/jpeg');// Get new dimensions list($width, $height) = getimagesize($filename);$new_width = $width * $percent;$new_height = $height * $percent;// Resample$...
钟祥市14782973256: 求PHP上传图片并等比例缩小图片的方法???
容义双歧: function upload($photo){ $num=1024*200; if($photo['size']>$num){ return false; } $uploaddir = '../images/'; $piece = explode('.',$photo['name']); $uploadfile = $uploaddir . md5($piece[0]).'.'.$piece[1]; $result = move_uploaded_file($photo['tmp_...
钟祥市14782973256: php 怎么压缩图片后 在发给前端 - ?
容义双歧: <?php/*---------------------------------------------------------------------- 函数:调整图片尺寸或生成缩略图 返回:True/False 参数: $Image 需要调整的图片(含路径) $Dw=450 调整时最大宽度;缩略图时的绝对宽度 $Dh=450 调整时最大高度;缩略图时的...
钟祥市14782973256: php一次上传多张图片并生成相应的缩略图的代码? - ?
容义双歧: 这里压缩为61x61<?php/* 作者:遥远的期待 QQ:15624575 个人主页:www.phptogether.comwww.d1php.info*/ function upload_multi($path,$photo,$i){ $uploaddir = './'.$path;//文件存放目录 if(!file_exists($uploaddir))//如果目录不存在就新建 $...
钟祥市14782973256: thinkphp如何做图片压缩呢? - ?
容义双歧: 在上传图片的时候先看看图片有多大,一般来说导航幻灯片的图片单张大小尽量不超100k,产品图不超过20k,这样加载还慢的话就用ajax后加载方法,可以是滚动加载之类,但是对蜘蛛抓取页面并不是很友好.至于你说的用tp把图片压缩,那只能是将图片的尺寸改成你想要的尺寸,大小的话是web所用格式大小,等页面加载完你又换原图,这样相当于又加载了一遍,还不如做ajax滚动加载.
钟祥市14782973256: php 如何将上传的图片按比例缩放并存在服务器里 - ?
容义双歧: 方法1,上传地址随机生成,指向到不同的服务器,以达到每个服务器上传压力和存储负载均衡2,上传服务器上有事件监听事件,有新文件上传,可以使用rsync等协议将文件推到其它服务器3,通过CDN等方式在有需要的时候,将文件同步到其它服务器
钟祥市14782973256: php 怎么压缩图片的大小 - ?
容义双歧: imagecopyresized复制新图并调整大小.语法: int imagecopyresized(int dst_im, int src_im, int dstx, int dsty, int srcx, int srcy, int dstw, int dsth, int srcw, int srch);
钟祥市14782973256: php 如何先减小图片的大小然后再上传? - ?
容义双歧: 你的意思应该是,图片减少后再上传,会快一点,是吗?那么必须要在客户端进行操作,否则,无法满足你的要求.举个例子: 你一张图片,文件大小是100KB,那么上传时,传输的数据就是100KB,上传到服务器生成临时文件,这个临时文件是100KB的,你对其进行减小生成缩略图的操作,都是服务器端的文件操作,和上传这个过程无关,所以是没有办法提高上传效率(速度)的.QQ空间上传图片应该是通过flash组件对图片进行了处理,然后再上传,这样子的话是可以的.
钟祥市14782973256: php图片上传到服务器指定路径,并且图片压缩成70*95大小代码! - ?
容义双歧: $path='img/';//路径$phtypes=array( 'img/gif', 'img/jpg', 'img/jpeg', 'img/bmp', 'img/pjpeg', 'img/x-png');?>
钟祥市14782973256: phpcms中文本编辑器里上传的图片怎么压缩?急!在线等! - ?
容义双歧: 如果是jpeg的图片可以设置质量来进行保存 但是会出现图片不清楚的情况,一般的话设置为90%就可以了.