Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/08/2007, 22h46   #1
Membre chevronné
 
Avatar de LeXo
 
Inscription : janvier 2004
Messages : 1 147
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2004
Messages : 1 147
Points : 782
Points : 782
Par défaut [Zip] Compression de répertoires

Bonjour

voila j'ai donc vu le une class zip mais il ne permet que de compresser 1 fichier
apres plusieurs recherches vaine
quelqu'un aurait un autre script ??


d'avance merci
LeXo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2007, 06h02   #2
Inscrit
 
Avatar de is_null
 
Inscription : octobre 2006
Messages : 637
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 637
Points : 690
Points : 690
http://devzone.zend.com/article/2105...hives-With-PHP
http://php.net/zip

Bon courage !
__________________
Q: Dois-je haïr et cogner sur Microsoft ?
R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma.
Comment devenir un hacker ? par Eric Steven Raymond
is_null est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2007, 08h41   #3
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut j'ai rien compris

C'est quoi ta demande? Compresser plusieurs fichiers dans une archive ZIP?
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2007, 10h52   #4
Membre chevronné
 
Avatar de LeXo
 
Inscription : janvier 2004
Messages : 1 147
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2004
Messages : 1 147
Points : 782
Points : 782
compresser un dossier qui contient des sous dossiers et des ti fichiers dedans

sur free est installé bz2 et zlib ya une préférence pour l'un ou l'autre ?
LeXo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2007, 10h58   #5
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut c'est très simple

Regarde ce code, je l'ai écrit pour un ouvrage qui sortira (en principe) en janvier, il explique comment ajouter des fichiers à une archive ZIP.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
// On crée une instance de la classe ZipArchive
$zip = new ZipArchive;
 
// On crée une archive ZIP si elle n'existe pas (ZIPARCHIVE::CREATE)
// mixed ZipArchive::open ( string filename [, int flags] )
if ($zip->open('./fichiers/exemple.zip', ZIPARCHIVE::CREATE) === TRUE) {
    // On y insère le fichier exemple.txt
    $zip->addFile('./fichiers/exemple.txt', 'exemple.txt');
 
    // ainsi que le fichier exemple.bz2
    // bool ZipArchive::addFile ( string filename [, string localname] )
    $zip->addFile('./fichiers/exemple.bz2', 'exemple.bz2');
 
    // Et on ferme le fichier
    $zip->close();
 
    // Et voilà, c'est aussi simple que ça...
    echo 'ok';
} else {
    echo 'échec';
}
?>
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2007, 11h50   #6
Membre chevronné
 
Avatar de LeXo
 
Inscription : janvier 2004
Messages : 1 147
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2004
Messages : 1 147
Points : 782
Points : 782
bon il me dit que j'ai un probleme de parenthe sur

Code :
if ($zip->open('./fichiers/exemple.zip', ZIPARCHIVE::CREATE) === TRUE) {
LeXo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2007, 12h12   #7
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut difficile de t'aider

Il faudrait que tu sois plus précis. C'est quoi le problème: un message d'erreur? Si oui, poste le. Quel résultat obtiens-tu quand tu exécute le script? L'as-tu adapté à ton arborescence?
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2007, 12h40   #8
Membre chevronné
 
Avatar de LeXo
 
Inscription : janvier 2004
Messages : 1 147
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2004
Messages : 1 147
Points : 782
Points : 782
Code :
1
2
3
4
5
6
7
8
9
10
11
12
	//Espace ZipArchive
	$zip = new ZipArchive();
	$fileZip='EspaceClient/essai.zip';
 
	if($zip->open($filezip,ZIPARCHIVE::CREATE)===TRUE){
		$zip->addFile('doc/dossier.class.pdf', 'dossier.class.pdf');
 
		$zip->close();
		echo'ok';
	}else{
		echo'echec';
	}
Citation:
Parse error: parse error, expecting `'('' in d:\projet\site web & intranet\karkam.fr\admin\siteweb\graphic.php on line 42
LeXo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2007, 17h01   #9
Inscrit
 
Avatar de is_null
 
Inscription : octobre 2006
Messages : 637
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 637
Points : 690
Points : 690
Au fait, c'est franchement plus simple de faire une tarball dans le cas de la compression d'un simple repertoire, dans un format a sources ouvertes donc compatible avec tout les winzips et co.
Il s'agit de :
tar cvjf NomArchive.tar.bz2 Dossier1 Fichier2 Dossier3 etc ...
__________________
Q: Dois-je haïr et cogner sur Microsoft ?
R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma.
Comment devenir un hacker ? par Eric Steven Raymond
is_null est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2007, 00h11   #10
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut relis sa demande

Citation:
Envoyé par is_null Voir le message
Au fait, c'est franchement plus simple de faire une tarball dans le cas de la compression d'un simple repertoire, dans un format a sources ouvertes donc compatible avec tout les winzips et co.
Il s'agit de :
tar cvjf NomArchive.tar.bz2 Dossier1 Fichier2 Dossier3 etc ...

Moi, il me demande un script, je lui donne un script. Je suis pas contraignant comme garçon... quoique


De plus, ceci concernerait un post posté sur un sous-forum Linux par sur un sous-forum PHP. Ha ha ha sacré is_null
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2007, 15h20   #11
Membre chevronné
 
Avatar de LeXo
 
Inscription : janvier 2004
Messages : 1 147
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2004
Messages : 1 147
Points : 782
Points : 782
oui j'ai bien demandé un script et je voudrais bien utilisé un script

parce que j'ai un probleme avec mon header et je voudrais le régler

et comme je vais utiliser un script pour le pdf et pour le zip
LeXo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 11h14   #12
Membre chevronné
 
Avatar de LeXo
 
Inscription : janvier 2004
Messages : 1 147
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2004
Messages : 1 147
Points : 782
Points : 782
pour ce tar ??
j'ai essayer comment faut'il sy prendre ??
en l'incluant
Code :
1
2
$$command="tar cvf  site.zip Client/temp";
system($command);
??

j'ai ce dossier 'temp' a zipper et a envoyer en téléchargement

j'ai pas trouver trop de chose sur tar ( a part ds environnement linux)



je trime trop sur la comrpession

il aime pas ce
Citation:
ZIP::CREATE
LeXo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 11h20   #13
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut erreurs

Déjà, tu as deux $ devant commande dans sa définition.

Ensuite, ce n'est pas ZIP::CREATE mais ZIPARCHIVE::CREATE

Enfin, si ce n'est déjà fait, exécute un phpinfo() sur le serveur pour t'assurer que l'extension ZIP est bien reconnue.
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 11h39   #14
Inscrit
 
Avatar de is_null
 
Inscription : octobre 2006
Messages : 637
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 637
Points : 690
Points : 690
En fait, pour une documentation aussi complête que rébarbative : http://man.developpez.com/man1/tar.1.php
Néanmoins, la ligne de commande devrait fonctionner, tu peux ajouter un v pour verbose aux options, la tester en console sur le serveur, et tu préferera probablement l'executer dans des backtips ou avec shell_exec() car ainsi tu pourras acceder la sortie en valeur de retour au lieu de l'afficher directement comme avec system()

Sinon, en tant qu'algo de compression a sources ouvertes, tout les décompresseurs savent l'extraire.
Note que l'option j permet de faire un tarball (archive) avec bunzip2, qui offre entre autre, une meilleure compression pour le texte que gzip. Gzip qui est utilisable avec l'option z au lieu de j. Enfin, tu peux n'utiliser ni z ni j et faire une tarball avec des fichiers non-compressés. A toi de faire tes tests et de voir ce qui va le mieux, z sera plus rapide tandis que j compressera plus.

David : je donne une solution contraignante car je suis un très, très vilain troll. D'un autre coté je ne force personne à préférer forcer les visiteurs à l'usage d'un décompresseur à sources fermées, moi . Pense aux 99% de visiteurs : ils sont sous linux ! Serieusement : je trouve que cette solution est viable sur un serveur linux, moins serieusement : je tranchera la tête de ceux qui refusent l'imperialisme de tar, comme le suggère mon petit avatar.
__________________
Q: Dois-je haïr et cogner sur Microsoft ?
R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma.
Comment devenir un hacker ? par Eric Steven Raymond
is_null est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 12h14   #15
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Citation:
Envoyé par is_null Voir le message
David : je donne une solution contraignante car je suis un très, très vilain troll. D'un autre coté je ne force personne à préférer forcer les visiteurs à l'usage d'un décompresseur à sources fermées, moi . Pense aux 99% de visiteurs : ils sont sous linux ! Serieusement : je trouve que cette solution est viable sur un serveur linux, moins serieusement : je tranchera la tête de ceux qui refusent l'imperialisme de tar, comme le suggère mon petit avatar.
Sacré is_null, toujours aussi extrémiste dans tes propos
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 12h16   #16
Membre chevronné
 
Avatar de LeXo
 
Inscription : janvier 2004
Messages : 1 147
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2004
Messages : 1 147
Points : 782
Points : 782
ah oui mais si il faut passer par la

ça sera pas la premiere lecture indigeste...

ah les erreurs c parce que j'ai écris ça un peu vite....dsl

j'avais fait un phpinfo() dans mon 2nd post pour dire que les librairies sur le serveur free zlib et bz2 était enabled
LeXo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 15h30   #17
Inscrit
 
Avatar de is_null
 
Inscription : octobre 2006
Messages : 637
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 637
Points : 690
Points : 690
Zlib est une extension pour faire des archives avec gzip en PHP.
De meme, bz2 sert a faire de la compression bz2 en PHP.
Zip est l'extension requise pour faire des archives WinZip (tm) en PHP.

tar est une commande probablement disponnible sur tout les serveurs linux, elle requiert que gzip et bunzip2 soient installes aussi, c'est d'ailleurs probablement le cas. Il n'y a pas besoin d'extension PHP pour l'utiliser en CLI (Command Line Interface) : par exemple avec shell_exec().
__________________
Q: Dois-je haïr et cogner sur Microsoft ?
R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma.
Comment devenir un hacker ? par Eric Steven Raymond
is_null est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h00.


 
 
 
 
Partenaires

Hébergement Web