Самораспаковывающийся архив

envoker

Guest
Самораспаковывающийся архив

Есть известная вещь в PEAR как Archive_zip, которая позволяет создавать архивы zip. Но мне надо мало того что zip архив сделать, так еще и самораспаковывающийся =) Изврат, знаю, но надо, заказчик хочет. Это вообще реально средствами php?
 

skynet80

rundesigner.com
В винде самораспоковывающийся архив - это архив+программа распаковки, если можно было бы дописать как нибудь эти данные в начало или в конец (сейчас уже не помню), то это реально сделать. Если конечно тебе самораспаковывающиеся под винду надо.

-~{}~ 20.06.05 16:32:

Можно сделать такое решение. Программа распаковки для зип это первые 35312 байт в самораспаковывающемся архиве. Дописываешь их первыми в свой зип архив, ставишь расширение файла ехе. Вот и все, но это только для винды для юниксов ищи сам. Тут я тебе не помощник
 

envoker

Guest
wow =) спасибо, буду пробовать!
Upd:
Получилось таки!
Если кому интересно, то вот пример
test.exe - созданный ручками sfx zip архив.
PHP:
<?
include ("classes/zip.php");

$zip=new Archive_Zip("somezip.zip");

$fl='somefile.html'; //файл который упаковываем

$zip->create($fl,0);
usleep(10000);
unset($zip);

$ezip=fopen("test.exe","rb");
$cap=fread($ezip,35312);
fclose($ezip);

$f=fopen("somezip.zip","rb");
$zip_caption=fread($f,filesize("somezip.zip"));
fclose($f);

$f=fopen("some_ext_zip.exe","w");
fwrite($f,$cap.$zip_caption);
fclose($f);
?>
 
Сверху