图片优化工具,将全站 png 转换为 jpg 格式。

axiuno 3月前 585

<?php

// 脚本执行完,如果过一段时间如果没有问题,则清理掉备份文件
// cd /home/wwwroot/bbs.xiuno.com/  你的 web 目录
// find ./upload/ -name "*.backup_png"|xargs rm -rf 

include '../xiunophp/xiunophp.min.php';
if(!function_exists('imagecreatefrompng')) {
	exit('请安装 GD 库。');
}
if(!function_exists('glob')) {
	exit('不支持 glob() 函数');
}
$files = glob_recursive('../upload/*.png');
foreach ($files as $file) {
	list($width, $height, $type, $attr) = getimagesize($file);
	$size = filesize($file);
	$file2 = str_pad($file, 64, ' ');
	$width2 = str_pad($width, 16, ' ');
	$height2 = str_pad($height, 16, ' ');
	//echo "$file $width $height $size ".IMAGETYPE_PNG." ".$type." <br>\r\n";
	if($type == IMAGETYPE_PNG) {
		echo "$file2 $width2 $height2 $size \r\n";
		xn_copy($file, $file.'.backup_png');
		png2jpg($file, $file);
	} elseif($type == IMAGETYPE_GIF && $size > 12000) {
		echo "$file2 $width2 $height2 $size \r\n";
		xn_copy($file, $file.'.backup_png');
		gif2jpg($file, $file);
	}
}
function png2jpg($originalFile, $outputFile, $quality = 80) {
	$image = imagecreatefrompng($originalFile);
	imagejpeg($image, $outputFile, $quality);
	imagedestroy($image);
}
function gif2jpg($originalFile, $outputFile, $quality = 80) {
	$image = imagecreatefromgif($originalFile);
	imagejpeg($image, $outputFile, $quality);
	imagedestroy($image);
}
?>


保存为 tool/png2jpg.php 

然后命令行,切换到 tool 目录:

cd /home/wwwroot/bbs.xiuno.com/tool  改为你自己的目录
php png2jpg.php

这样可以把全站的 png 转化为 jpg 格式,后缀名不变(浏览器可以自动识别图片格式),这样可以加快页面的加载速度。



过一段时间,如果发现没有什么问题,将备份清理掉:

cd /home/wwwroot/bbs.xiuno.com  改为自己的目录
find ./upload/ -name "*.backup_png"|xargs rm -rf


最后于 3月前 被axiuno编辑 ,原因:
最新回复 (6)
  • axiuno 3月前
    2
    已经提交到了  git
  • axiuno 3月前
    3
    最新版本的  Xiuno  BBS  已经自动优化头像大小,上传文件大小,后台更新百度编辑器即可。
  • hidao@hidao.org 3月前
    4
    jpg没有背景透明...
  • 参观者 3月前
    5
    收藏收藏
  • 富尔 3月前
    6
    jpg加载更快?
    是执行这个php文件完成转换?
    以后定期执行?还是只执行一次?
  • axiuno 3月前
    7
    执行一次后,升级编辑器插件,以后就不用优化了。
返回
发新帖