Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Иконка из Java-приложения
Скрипт извлекает пиктограмку из jar-файла
if(!isset($_GET['jar']))die("Не указан параметр jar!");
$zip = new ZipArchive;
if ($zip->open(base64_decode($_GET['jar'])) === TRUE) {
if($manifest = $zip->getFromName('META-INF/MANIFEST.MF')){
if (strpos($manifest, 'MIDlet-Icon: ') !== FALSE){
$jad = explode('MIDlet-Icon: ',$manifest);
$icon = str_replace("\n",' ', $jad[1]);
$icon = str_replace("\r",' ', $icon);
$icon = strtok($icon,' ');
$icon = preg_replace('#^/#', NULL, $icon);
}else $icon='icon.png';
}else exit;
if($image = $zip->getFromName($icon)){
$image = imagecreatefromstring($image);
$width=imagesx($image);
$height=imagesy($image);
$x_ratio=16/$width;
$y_ratio=16/$height;
if(($width<=16)&&($height<=16)){
$tn_width=$width;
$tn_height=$height;
}elseif(($x_ratio*$height)<16){
$tn_height=ceil($x_ratio*$height);
$tn_width=16;
}else{
$tn_width=ceil($y_ratio*$width);
$tn_height=16;
}
$dst=ImageCreate($tn_width,$tn_height);
imagecopyresampled($dst, $image, 0, 0, 0, 0, $tn_width,$tn_height,$width,$height);
$image = $dst;
}else{
//иконка по умолчанию, если в архиве нет иконки
$image = imagecreatefrompng('default_icon.png');
}
header('Content-type: image/png');
ImagePng($image);
ImageDestroy($image);
$zip->close();
}
Пример вызова:
<img src="icon.php?jar='.base64_encode('java_game.jar').'"/>
Источник: http://phpcodes.ru/code18.html
.
Прокомментировать/Отблагодарить