Je souhaite utiliser un wrapper de flux zip en PHP pour créer un fichier zip ou ajouter des fichiers dans une archive zip. Voici mon exemple:Créer un fichier dans une archive zip à l'aide d'un gestionnaire de flux
<?php
echo file_get_contents('zip://file.zip#existing_file.txt');
file_put_contents('zip://file.zip#new_file.txt', 'Trying to put some stuff here...');
echo file_get_contents('zip://file.zip#new_file.txt');
Ce code me fait cette sortie:
$ php test.php
Hey, I'm an existing text in a file in a zip archive !
Warning: file_put_contents(zip://file.zip#new_file.txt): failed to open stream: operation failed in /home/sylvain/test.php on line 7
Warning: file_get_contents(zip://file.zip#new_file.txt): failed to open stream: operation failed in /home/sylvain/test.php on line 9
je reçois la même erreur lorsque le fichier zip n'existe pas.
Voici les autorisations de fichier:
$ ls -la
total 24
drwxrwxrwx 2 sylvain sylvain 4096 2009-11-13 14:44 .
drwxr-xr-x 134 sylvain sylvain 12288 2009-11-13 14:44 ..
-rwxrwxrwx 1 sylvain sylvain 236 2009-11-13 14:44 file.zip
-rwxrwxrwx 1 sylvain sylvain 268 2009-11-13 14:44 test.php
Est-il possible de faire ce que je suis en train de le faire sans créer une nouvelle enveloppe de flux?
Selon les spécifications du fichier zip http://www.pkware.com/documents/casestudies/APPNOTE.TXT, CRC peut être ajouté après les données compressées. – Naveed
Toujours signifie que si vous ne pouvez pas rechercher dans un flux, vous ne pourrez pas utiliser cette compression –