Gz en php

Bobby Brown -  
 Bobby Brown -
Salut !

Voilà mon problème :
- je veux compresser des fichiers sur un serveur à partir d'un script PHP, en utilisant la librairie GZLib
---> simple fichier par fichier
- je veux compresser l'intégralité du contenu d'un dossier
---> dès lors, comment faire ? L'archive doit-elle avoir un entête spécifique pour qu'il soit possible de recréer l'arborescence interne du dossier, et récupérer les noms de fichier ?

Si vous aviez des pistes...

Merci par avance, et @+
A voir également:

4 réponses

sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Le format gz ne supporte pas de multiples fichiers. Il ne peut compresser que fichier par fichier.

Il faut rassembler les fichiers en un seul (par exemple avec TAR), puis compresser ce fichier tar.

On obtient des fichiers .tar.gz ou .tgz
0
Bobby Brown
 
Ah... Ca a pas l'air si simple que ce que je pensais :-(

Si je te suis, la procédure est la suivante :
- je liste tous les fichiers de mon répertoire
- je les compresse individuellement en gz
- je créé un nouveau fichier xxx.tgz

Dès lors, comment faire pour générer le fichier TAR sur mon serveur, en gardant les diverses infos (comme les noms de fichier, ou autre) ?

Merci par avance !
0
Bobinours Messages postés 2898 Date d'inscription   Statut Membre Dernière intervention   504
 
Non, ce n'est pas vraiment ça.

TAR ne compresse pas. Ca permet de réunir plusieurs fichiers en conservant l'arborescence en un seul fichier.

j'ai 3 fichiers :
- /fichierA
- /repertoire1/fichierB
- /repertoire2/fichierC

Je les TAR et j'aurais UN fichier : projet.tar

Ensuite, je GZip ce fichier pour le compresser.
0
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
Bonjour,
Pour la création d'archives tar, tu peux regarder sur
http://pear.php.net/package-info.php?pacid=24

Johan

The software said "Requires Windows98, Win2000, or better,
So I installed Unix.
0
Bobby Brown
 
Merci Johan, ton tuyau a l'air plutôt intéressant !
Je vais essayer cette solution !

Et encore merci à Seb
0
Bobby Brown
 
J'ai essayé ta solution, Johan, mais elle s'avère assez instable en pratique (apache supporte pas bien l'include pear, pour des raisons que j'ignore d'ailleurs...).

Mais à l'adresse
http://www.phpconcept.net/pcltar-index.php3
il y a une librairie assez phénoménale qui fonctionne à merveille.
Et, ironie du sort, elle est du même auteur que celle de ton adresse !

Voilà !

@+
0