<?php /** * Перепаковка jar файла * автор: Nc_Soft * 11.01.10 */ /* Задача: изменить имя игры при установки с Worms на Worms snippets.pp.ru */ //исходный файл $file = 'Worms.jar'; //создаем объект $z = new ZipArchive(); //открываем архив с возможностью перезаписи if (!$z->open($file, ZIPARCHIVE::OVERWRITE)) die('Не удалось открыть архив'); //далее извлекаем MANIFEST.MF $mf = ''; $manifest = 'META-INF/MANIFEST.MF'; $fp = $z->getStream($manifest); if(!$fp) { //манифест еще может быть здесь Meta-inf/Manifest.mf $manifest = 'Meta-inf/Manifest.mf'; $fp = $z->getStream($manifest); if (!$fp) { die('не удалось извлечь манифест'); } } //читаем данные while (!feof($fp)) { $mf .= fread($fp, 2000); } fclose($fp); echo $mf; /* Получаем вот это Manifest-Version: 1.0 Ant-Version: Apache Ant 1.6.2 Created-By: 1.4.2_06-b03 (Sun Microsystems Inc.) MIDlet-Name: Worms Forts Etty 2D MIDlet-Vendor: THQ.Etty MIDlet-1: Worms Forts, /Icon_15x15.png, CMIDlet MIDlet-Version: 1.0.1 MIDlet-Icon: /Icon_15x15.png MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-2.0 */ //дополняем название игры $mf = preg_replace('`MIDlet-Name:\s+([^\r\n]+)`i', 'MIDlet-Name: \\1 snippets.pp.ru', $mf); //и теперь самое главное! заменяем файл манифеста в архиве //разумеется у архива должны быть права на запись $z->addFromString($manifest, $mf); $z->close(); //пробуем качать и ставить в телефон, у меня запускается, а у вас?