J'ai un fichier téléchargé par un cron qui est au format zip64.support zip64 en php?
Comment puis-je le décompresser en utilisant php ou via un php cmd()?
J'ai un fichier téléchargé par un cron qui est au format zip64.support zip64 en php?
Comment puis-je le décompresser en utilisant php ou via un php cmd()?
étonnamment unzip unix juste travaillé!
exec(unzip -n -q zip-downloaded-by-cron.zip -d photos);
Quelques options que je connais.
Si votre PHP fonctionne sous Windows, vous pouvez utiliser l'interface COM pour DotNetZip.
$zipInput = "c:\\temp\\zip-downloaded-by-cron.zip";
$zip = new COM("Ionic.Zip.ZipFile");
$zip->Initialize($zipInput);
$dirForExtract= "c:\\temp\\extract";
# optional password
$zip->Password = "AES-Encryption-Is-Secure";
$zip->ExtractAll($dirForExtract);
$zip->Dispose();
Pour DotNetZip, ZIP64 est utilisé automatiquement si nécessaire, lors de la lecture dans un fichier zip.
Vous pouvez également appeler l'outil de ligne de commande fourni avec DotNetZip. Cela a l'avantage de fonctionner sur Linux + Mono, en plus de Windows + .NET. L'outil est unzip.exe et vous pouvez simplement appeler (cmd) unzip.exe downloaded-zip.zip
. Il va gérer automatiquement les trucs zip64. Il existe des options sur unzip.exe pour spécifier où extraire, quels fichiers extraire et ainsi de suite.
Linux non mono, est-il possible d'utiliser DotNetZip unzip.exe? –
Non, si vous êtes sur Linux, vous avez besoin de mono pour lancer DotNetZip. – Cheeso
Apparemment, le module IO::Compress::Zip
de Perl prend en charge Zip64. Si vous êtes assez à l'aise pour l'installer, vous pouvez appeler un petit script Perl via shell_exec()
.
en raison du serveur prob ne peut pas installer le module perl php. Donc, je peux appeler le script via passthru() ou cmd() j'ai besoin de gonfler le zip64 (IO :: Uncompress :: Unzip?) J'ai perl, v5.8.8 construit pour i686-linux quelqu'un connais un simple script perl je pourrais appel? –
unzip 6.00 a des extensions zip64. Les anciennes versions ne le font pas. – jmanning2k