webForumDet fria alternativet

Bildkomprimerare

PHP

0 svar · 1 508 visningar · startad av stevenet

Medlem sedan juni 20001 251 inlägg
Frågan#1
<?php
/*
Bildkomprimerare
Loopar igenom en katalog och komprimerar alla funna JPG-bilder.

© Stefan Axelsson - stefan@saltsea.se - http://www.axelsson.tk

*/
// Komprimering av bilden, 1-100. 1=maximal komprimering 
// 100=minimal komprimering
$quality=50; 

// _compressed läggs till efter filnamnet x. 
// Om du vill att den gamla bilden ska ersättas lämna fältet tomt.
$add="_compressed"; 

// Sökväg till katalogen där bilderna ligger. Lämna ett slash (/) i 
// slutet 
$dir_name = "/path/to/dir/"; 

if ($QUERY_STRING=="start") {
	$i=0;
	$dir = opendir($dir_name);
	while ($file = readdir($dir)) {
		$file_a=explode(".",$file);
		$tmp=count($file_a)-1;
		$type=$file_a[$tmp];
		$tmp--;
		$name=$file_a[$tmp];
			if ($type=="jpeg" or $type=="jpg") {
				$i++;
				$new=$name.$add.".".$type;
				$org = ImageCreateFromJpeg($file);
				$org_x = ImageSx($org);
				$org_y = ImageSy($org);
				$new_image = ImageCreate($org_x,$org_y);
				imagecopy($new_image, $org, 0, 0, 0, 0, $org_x, $org_y);
				ImageJpeg($new_image,$new,$quality);
				ImageDestroy($org);
				ImageDestroy($new_image);
				echo $file . " was successfully compressed.<br>";
			}
		}
		echo $i." image(s) was successfully compressed.";
	closedir($dir);
	}
else {
	echo "<a href=\\"".$PHPSELF."?start\\">Starta komprimering</a>";
}
?>
258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)