Autor Zpráva
Honzýk
Profil *
Začínám s PHP a pro své osobní pořeby pořebuji na localhostu zipovat soubory, dělám to nyní nějak takto:

$zip = new ZipArchive;
if ($zip->open("projekt_".$rnd.".zip") === TRUE) {
    $zip->addFile($jmeno_doc.".txt", "zazipovany.txt");
    $zip->close();
}
 ..........

Potřebuji ovšem zazipovaným souborům nastavovat HESLO, jak se to v PHP dělá?
Alphard
Profil
Pohledem na pár jiných diskusí se mi potvrzuje názor, že to ZipArchive neumí.

Na localhostu máte obrovskou výhodu, že můžete snadno a bezpečně používat systémová volání, takže
system('zip -P heslo archiv.zip soubor');
Příkaz se samozřejmě liší v závislosti na OS a programech.
Honzýk
Profil *
Alphard:
Díky to snad poslouží.... jen tak pro mé obzory, je nějaká free ZIP knihovna pro PHP5, která umí na serveru (i mimo localhost) aplikovat hesla?
Rfilip
Profil
O žádné takové knihovně nevím, ani dle četných diskuzí ani nexistuje, ale je DotNetZip knihovna která se v PHP dá použít přes COM rozhraní (http://stackoverflow.com/questions/646195/create-an-encrypted-zip-archive-with-php/670804#670804). Umí i zaheslované ZIP, ale má několik nevýhod: OS musí být Windows,v PHP musí být zapnutá podpora COM, nutnost nainstalované knihovny DotNetZip.
Řešení z [#2] na běžných webhostinzích nefunguje z důvodu kvuli bezpečnosti serveru zakázané funkce system, shell_exec a podobných. Navíc je heslo vidět v seznamu bežících procesů

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: