首页 / PHP / 无损压缩图片心得(二)_PHP教程
无损压缩图片心得(二)_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了无损压缩图片心得(二)_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2930字,纯文字阅读大概需要5分钟。
内容图文
用户之前在发烧网参加的上传图片活动都没有经过无损压缩处理.想用脚本对一月内传上去的图片进行处理,但Amazon_S3服务集群上只能使用他们提供的一些简单的API.所以只能先down 下来,压缩处理后,再传上去覆盖原来的图片.经过多次调试,最终写了个php的脚本对之进行处理:详见这里.
代码如下:
1:2: function compress_img ($source) {3: $exts = array("png","bmp","gif","pnm","tiff");4: $start_time = strtotime("-30 day");5: exec("s3cmd ls s3://fever38-us-static/hotdeals/{$source}/ > ./tmp.txt");6: $rs = file('./tmp.txt');7:
8: foreach($rs as $line) {9: $r = array_filter(explode(' ', $line));10: if(!empty($r[0])){11: $r[0] = trim($r[0]);
12: $time = strtotime($r[0]);
13: }
14: if(!empty($time) && $time >= $start_time){15: if(!empty($r[10])){16: $img = trim($r[10]);
17: $path_info = pathinfo($r[10]);
18: $ext = trim($path_info["extension"]);19: $file_name = strtolower(trim($path_info["basename"]));20:
21: exec("s3cmd get ".$img);22: exec("cp {$file_name} /mnt/heisoo/s3/{$source}/");23:
24: if (in_array($ext,$exts)) {25: system("/usr/bin/optipng -o5 ".$file_name);26: }
27: if ($ext == "jpg" || $ext == "jpeg") {28: system("/usr/bin/jpegoptim -o --strip-all ".$file_name);29: }
30: system("s3cmd put {$file_name} {$img} --guess-mime-type --add-header 'Cache-Control:max-age=31536000' --add-header 'Expires: Thu, 01 Dec 2014 16:00:00 GMT' --acl-public");31: unlink($file_name);
32: }
33: }
34: }
35:
36: unlink('./tmp.txt');37: }
38:
39: compress_img("promotion_main_pic");40: compress_img("src_thumb");41: compress_img("uploadImage");42: compress_img("dialog_image");43: compress_img("joinPicture");44: ?>
http://www.bkjia.com/PHPjc/440176.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/440176.htmlTechArticle用户之前在发烧网参加的上传图片活动都没有经过无损压缩处理.想用脚本对一月内传上去的图片进行处理,但Amazon_S3服务集群上只能使用他...
内容总结
以上是互联网集市为您收集整理的无损压缩图片心得(二)_PHP教程全部内容,希望文章能够帮你解决无损压缩图片心得(二)_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】