Xwab
Форумыnavigate_nextПрограммирование на PHP

Открытие файла !>>>
Сообщения
WaRNeR

<?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+([^
]+)`i', 'MIDlet-Name: 1 snippets.pp.ru', $mf);

//и теперь самое главное! заменяем файл манифеста в архиве
//разумеется у архива должны быть права на запись
$z->addFromString($manifest, $mf);
$z->close();
?>
---
Вот нашел такой код для замены строк в ява прилажениях в файлах MANIFEST.MF
---
Но скрипт постояно выдает "не удалось извлечь манифест" в чем дело? Что тут надо исправить чтобы он работал??? Плиз оч надо

27 Ноя 2010, 22:14
ofroke

была подобная ошибка давно..
непомню правда как исправил)
попробуй библиотеку ZipArchive обновить и установить права на файл / папку

27 Ноя 2010, 22:36
WaRNeR

все перепробывал ну не хочет работать и все ;-(

27 Ноя 2010, 22:45
Nnz2

Без ZIPARCHIVE::OVERWRITE попробуй, где-то с ним, где-то без него не пашет.

22 Апр 2012, 11:34
Анархист

WaRNeR,распоковать архив в папку..произвести необходимые действия..запаковка файла и очистка папки.

22 Апр 2012, 11:44
Nnz2

Анархист, это необязательно.

22 Апр 2012, 21:09
Ответить на тему