Иконка из 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


.