『壹』 如何压缩已上传的服务器中的图片,有没有好用的php页面源码
你的服务器是什么系统? WINDOWS还是linux?
WINDOWS的话你可以另外开发一个软件放在服务器上,实时监测是否有新的图片上传上来,有的话你就执行图片的大小尺寸或者图片画质的压缩,当然你的软件也可以通过访问你的PHP程序来完成图片压缩。
LINUX系统的话,可以写一个常驻脚本,实时监控你的图片,所以发现图片文件超过指定大小的话,也执行图片大小和尺寸压缩的,当然也能通过调用PHP来执行。
以下是一段PHP的图片压缩代码:
//缩放图片
function mt($srcFile,$dstFile,$max_width=200,$max_height=150,$imgQuality=90){
$data=@getimagesize($srcFile);
if($data[0]<=$data[1] and $data[1]>=$max_height){
$height=$max_height;
$width=intval($height*$data[0]/$data[1]);
}
if($data[0]>=$data[1] and $data[0]>=$max_width){
$width=$max_width;
$height=intval($width*$data[1]/$data[0]);
}
if($height>$max_height){
$height=$max_height;
$width=intval($height*$data[0]/$data[1]);
}
if($data[0]<$max_width and $data[1]<$max_height){
$width=$data[0];
$height=$data[1];
}
switch($data[2]){
case 1:
$im=@imagecreatefromgif($srcFile);
break;
case 2:
$im=@imagecreatefromjpeg($srcFile);
break;
case 3:
$im=@imagecreatefrompng($srcFile);
break;
}
$srcW=@imagesx($im);
$srcH=@imagesy($im);
$ni=@imagecreatetruecolor($width,$height);
@imageresampled($ni,$im,0,0,0,0,$width,$height,$srcW,$srcH);
switch($data[2]){
case 'gif':@imagepng($ni,$dstFile, $imgQuality); break;
case 'jpeg':@imagejpeg($ni,$dstFile, $imgQuality); break;
case 'png':@imagepng($ni,$dstFile, $imgQuality); break;
default:@imagejpeg($ni,$dstFile, $imgQuality); break;
}
}
『贰』 linux convert图片压缩
convert -density 150 aaa.png bbb.png
-density 参数指定的是DPI,也就是分辩率。一般屏幕显示用72就足够了,150适用于大多数场合,300以上的分辩率就很高了。不清楚最高可以到多少。当然了,这些都只在原PDF是矢量的情况下才有比较好的效果,如果原PDF是点阵的,比如扫描的图书,那么更大的DPI造成的结果就是颗粒变大。
『叁』 linux 如何压缩JPG图片
回复 1# 的帖子 这个应该是可以直接在通过discuz上传的时候就可以处理成指定的尺寸。如果是上传后可能就得需要写个php的脚本批量处理。
『肆』 linux文件批量压缩后复制到移动硬盘的脚本
先将移动硬盘挂载到/mnt目录下
然后按如下方法创建脚本
vi backup.sh (生成脚本)
以下是脚本内容
#/bin/bash
tar -czvf backup.tar.gz /要备份的文件夹的完路径/ (例如要备份/home下的所有文件则命令如下tar -czvf backup.tar.gz /home)
cp backup.tar.gz /mnt
rm -rf backup.tar
然后给该文件执行权限
chmod 755 backup.sh
『伍』 如何在linux系统下通过脚本,把文件压缩到已存在压缩文件的子目录中
1、创建目录:res/drawable-hdpi
2、将*.png拷贝到res/drawable-hdpi下
3、zip -gr file.zip res/drawable-hdpi/*.png
『陆』 linux脚本开发-关于压缩文件脚本的判断修改
你可以判断文件是否为空,如果为空不压缩,如果不为空则可以压缩,,if [[ ! -s filename ]] <==如果文件存在且为空,-s代表存在不为空,!将他取反
then
ok
fi你自己把代码再改改..
『柒』 Linux 如何能写个脚本实现某一个文件夹下所有文件都进行压缩的动作,不用tar,就想用gzip~~
find /dir -type f -exec gzip {}\;
『捌』 linux写一段脚本压缩前一天的文件
crontab -e
增加:
0 0 * * * * cd /yourdir; tar zcvf - `find . -mtime -1 -type d -print` > `date -d '1 day ago' +%Y%m%d`.tar.gz >> /tmp/archive.log 2>&1