Question

J'ai un fichier téléchargé par un cron qui est au format Zip64.

Comment puis-je dézipper en utilisant php ou via un php cmd ()?

Était-ce utile?

La solution

étonnamment Décompressez de unix juste travaillé!

exec(unzip -n -q zip-downloaded-by-cron.zip -d photos);

Autres conseils

A couple d'options que je connaisse.

Si votre PHP fonctionne sur Windows, vous pouvez utiliser l'interface COM 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 appeler l'outil de ligne de commande fourni avec DotNetZip. Ceci a l'avantage de travailler sur Linux + Mono, en plus de Windows + .NET. L'outil est unzip.exe, et vous pouvez simplement invoquer (cmd) unzip.exe downloaded-zip.zip. Il se chargera automatiquement les choses Zip64. Il y a des options sur unzip.exe pour spécifier où extraire, les fichiers à extraire, et ainsi de suite.

Apparemment, Perl IO::Compress::Zip module prend en charge Zip64. Si vous êtes assez confortable pour l'installer, vous pouvez appeler un petit script Perl via shell_exec() .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top