Aller au menu - Aller au contenu

Les fonctions Zip en PHP

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page 1 
Pseudo Commentaire
Page 1 
Hors ligne corgato # Posté le 17/08/2009 à 04:04:28
Avatar

Salut !

Super ce tuto merci beaucoup !!
Je me demander si c'est possible de mettre un mot de passe sur l'archive .zip ?

Merci !!
Hors ligne lkaiman # Posté le 17/08/2009 à 12:56:38
Ais-je ce caractére ?!
Avatar

Études : IUP GEII d'Amiens

merci de nous montrer çà
au début je me suis dit, il ne s'est pas foulé, lire/Ecrire/ouvrir ou créer/supprimer et basta ^^

mais non, un beau TP qui nous montre bien tout

Par contre, ceux qui ne connaissent pas le langage objet doivent être un peu perdu
Une petite redirection sur un tuto de langage objet et ce sera pas mal ;)

Un probléme > Une solution > Ctrl + Shift + Echap
Image utilisateur

 
Hors ligne magik-orion # Posté le 18/08/2009 à 14:06:52
Don't be evil !
Avatar

Très bon tuto ! Rien à redire (à par pour la question de austin.fla pour mettre un mot de passe, cela peut etre intéressant parfois)

Etudiant L3, EFREI P2014
C/C++, Flash/Flex/AS3, C#, Java, ASP.NET, HTML5/CSS3/PHP/MySQL, JS
 
Hors ligne Jack Beauregard # Posté le 18/08/2009 à 20:34:23
Avatar

Très bon tuto !
Ce que tu ne dis pas est : comment insérer une image que tu as créée avec PHP ?

( :-° :-° Je sais je suis chiant ! :-° :-° )


 
Hors ligne Ange des flammes # Posté le 19/08/2009 à 11:48:13
Avatar

@austin.fla, je n'ai pas trovué de fonctions de la class pour mettre un mot de passe désolé.

@lkaiman Il y a déjà un lien vers le tuto de POO, dans l'introduction.

@Jack Beauregard Si tu parles de gd, tu fais ton image, tu la sauvegardes en fichier puis tu mets le nom de ton image, t'as besoin de quelque chose qui existe si tu veux ajouter n fichier.

Merci tout le monde

As long as I'm here, they are the prey and I am the hunter.
You always have the choice, hunted or hunter ?
Demon hunter
 
Hors ligne harlendar # Posté le 19/08/2009 à 12:07:40

Ce tuto fait très "trucs et astuces", beaucoup de code pour peu de textes. Tu devrais plutôt envisager de faire une classe étendant ZipArchive, ce serait beaucoup plus instructif ;)

Image utilisateur
Appréhension du Flash/AS3.
Verdict : la programmation évènementielle, caylebien. Mais le flash, c'est moins bien pour ce que je veux faire. Donc stop.
Test de personnalité - Résultat : INFP (Healer)
 
Connecté victor # Posté le 19/08/2009 à 14:55:45
est beau !
Avatar
Groupe : Anciens
Flux RSS

Tu pourrais aussi corriger ton orthographe...
Déjà la toute première phrase du tuto n'est pas correcte!
"Je ne suis pas là pour vous apprendre à faire de la POO donc je m'étendrais pas dessus, les mots instances, class, ... doivent vous parler."

Et l'art suisse du blog, ça vous dit quelque chose ?


Image utilisateur
et le roi des lents sur son trône, il est suisse ça j'en suis sur
Nowhere to run, Nowhere to hide
Javier Flutine Crew presents : Poneys pom pom tchi !
Citation :
21:44:09 Elentar: mon bac vaut bien quelques chatons

Citation :
La pizza 4 saisons enfourne des javiers sauvages

Citation : Makkhdyn
j'avais gravé mon iPod avec "MakkhPod", mais après coup j'ai regretté puisqu'il était devenu impossible a vendre et j'ai été obligé de le refiler a mon frère...


Si vous m'aimez, faites de la pub pour mon blog.
Si vous m'aimez pas, je vous aime quand même. Et puisque vous aimez les gens qui vous aiment, vous m'aimez. Et comme vous m'aimez, faites de la pub pour mon blog.
Découvrez des bons films, des belles photos, de la bonne musique, des bons bouquins. Bref, cultivez-vous.
 
Hors ligne Ange des flammes # Posté le 20/08/2009 à 11:00:41
Avatar

J'ai oublié "ne", ce qui ne doti pas déranger beaucoup de monde.

As long as I'm here, they are the prey and I am the hunter.
You always have the choice, hunted or hunter ?
Demon hunter
 
Hors ligne BenFett # Posté le 21/08/2009 à 14:42:27
Avatar

Ville : Epone
Pays : France métropolitaine

Moi ca ne marche pas chez moi. Il me dit que la classe ZipArchive n'est pas trouvée alors que j'ai activé l'extension php_zip dans le php.ini
Hors ligne Ange des flammes # Posté le 21/08/2009 à 17:23:59
Avatar

@BenFett, get_declared_classes(), regardes si elle est dedans et que l'extension est bien activé et que tu as relancé le serveur

As long as I'm here, they are the prey and I am the hunter.
You always have the choice, hunted or hunter ?
Demon hunter
 
Hors ligne BenFett # Posté le 28/08/2009 à 23:37:41
Avatar

Ville : Epone
Pays : France métropolitaine

Merci Ange des flammes. Maintenant la classe est reconnue. Nouveau problème :(
Je crée l'archive avec le code du tuto, il rentre bien dans le if (si création ok) mais l'archive est invisible (et j'ai ajouté des fichiers non vides et je l'ai fermée).
Une idée ?
Merci d'avance ;)
Hors ligne Ange des flammes # Posté le 29/08/2009 à 16:56:32
Avatar

Est ce que ton script dispose des droits d'écritures ?

As long as I'm here, they are the prey and I am the hunter.
You always have the choice, hunted or hunter ?
Demon hunter
 
Hors ligne BenFett # Posté le 30/08/2009 à 19:10:27
Avatar

Ville : Epone
Pays : France métropolitaine

Normalement, oui. J'ai essayé de créer un fichier avec le script et ça a fonctionné.
Hors ligne Ange des flammes # Posté le 30/08/2009 à 20:15:16
Avatar

Tu peux me montrer ton code ?

As long as I'm here, they are the prey and I am the hunter.
You always have the choice, hunted or hunter ?
Demon hunter
 
Hors ligne BenFett # Posté le 30/08/2009 à 22:26:59
Avatar

Ville : Epone
Pays : France métropolitaine

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<?php

$zip = new ZipArchive();
if ($zip->open('./test.zip', ZipArchive::CREATE) == true) {
	echo 'creation archive ok';
	
	$zip->addFile('./AA001.JPG');
	
	$zip->addFromString('Fichier.txt', 'Je suis le contenu de Fichier.txt !');
	
	$zip->close();
}
else {
	echo 'erreur creation archive';
}

?>


J'ai réussit à le faire fonctionner (je me demande comment d'ailleurs) mais je voudrais faire des archives contenant des fichiers JPG.
Or dans cet exemple, l'archive est crée, mais je ne vois pas le fichier AA001.JPG (je vois néanmoins le fichier txt).
Par contre la taille de l'archive correspond au fichier image.

En tous cas merci pour ton aide ;)

EDIT : je viens de voir qu'en faisant :
Code : PHP
1
2
3
<?php
$zip->addFromString('toto2.jpg', file_get_contents('./AA001.JPG'));
?>


je vois mon fichier image dans l'archive.

RE-EDIT : je viens de voir qu'en ajoutant un autre type de fichier (.pps) par la méthode addFile, je ne le vois pas non plus, mais la taille de l'archive indique que le fichier est dedans. Bizarre...

RE-RE-EDIT : En ouvrant l'archive avec WinRar, je vois tous les fichiers que je met dedans. Vraiment Bizarre ! ^^ (avant je l'ouvrais avec le truc de base de Windows)

RE-RE-RE-EDIT : Bon, je viens de voir qu'en rajoutant le paramètre optionnel (localname) de la méthode addFile, bin je voyais tous les fichiers normalement, même avec le truc de base de Windows. Merci encore ;)
Hors ligne Ange des flammes # Posté le 31/08/2009 à 00:49:30
Avatar

Pfeuh, tu m'as paumé là, ça marche ou pas ? :x

As long as I'm here, they are the prey and I am the hunter.
You always have the choice, hunted or hunter ?
Demon hunter
 
Hors ligne Dutiona # Posté le 31/01/2010 à 19:10:37
Vis pour être heureux !
Avatar

Ville : Toulouse
Pays : France métropolitaine
Études : EISTI

Bon tuto.

Pour ceux qui n'ont pas l'extension zip d'activée et qui ne peuvent pas l'activer, je leur suggère d'aller voir ma réponse sur ce topic : http://www.siteduzero.com/forum-83-375 [...] avec-php.html

Kiss.

#LGDF: winzou vaincra !
Défiez ma brute !
Eclipse user | Ubuntu (KDE) user | php/sql/xhtml/css/xml/xsl/javascript/java/python/perl/c/scheme/ada/uml/ocl coder.
Framework in use : Seraframework (my own one).
In Microeisti staff.
 
Hors ligne softdounia # Posté le 16/04/2010 à 00:48:23
A
Avatar

Ville : Alger
Pays : Algérie
Études : ETS Montréal

Hi,

je signale que le lien de la classe est more !! http://fr3.php.net/manual/fr/class.ziparchive.php
(tu pourrai la poster ici )

Cordialement
SoftDounia

Les 40e rugissants et les 50e hurlants. o_O --> Brainstorming --> CamelCase
Image utilisateur

-------------
"je crois qu'on ne peut mieux vivre qu'en chercant à devenir meilleur, ni plus agréablement qu'en ayant pleine conscience de son amélioration"
Socrate >_<
-------------
les meilleurs peintres se sont fait dire qu’ils n’étaient pas bon, aujourd’hui ce sont des Dieux!
-------------
RTFM :-° l'expression anglaise d'argot Internet Read the fucking manual (« Lis le foutu manuel ») ;
-------------
Mon CV en ligne ici
 
Hors ligne christobal # Posté le 29/03/2011 à 00:18:26

Bonjour,
Merci pour cet excellent tuto.
Par contre je rencontre un problème.
Je n'arrive pas a recréer arborescence du dossier que je souhaite archiver.
Seule les fichiers a la racine du dossier son dans le zip. Le sous dossier sont présent sous forme de fichier et donc leur contenu est inexistant.
Comment faire pour TOUT archiver en conservant l'arborescence ?

Encore Merci.
Hors ligne Ange des flammes # Posté le 29/03/2011 à 16:22:08
Avatar

Tu emploies une méthode récursive ou non ? Fais voir ton code dans une balise secret =)

As long as I'm here, they are the prey and I am the hunter.
You always have the choice, hunted or hunter ?
Demon hunter
 
Hors ligne tarzane # Posté le 18/06/2011 à 01:10:03
Avatar

Avis : Très bon

Merci pour le tuto.
Hors ligne Ange des flammes # Posté le 18/06/2011 à 10:52:42
Avatar

Je t'en prie =)

As long as I'm here, they are the prey and I am the hunter.
You always have the choice, hunted or hunter ?
Demon hunter
 
Hors ligne Zhela # Posté le 31/07/2011 à 19:17:11
Avatar

Ville : Court-st-etienne
Pays : Belgique
Études : Université catholique de Louvain

Merci beaucoup, ce tutoriel est clair et complet :)

Est-ce que tu as une idée de la façon dont on pourrait automatiquement supprimer l'archive après téléchargement ?
Ou le cas échéant, une façon de télécharger l'archive sans créer de nouveau fichier sur le serveur.
 
Hors ligne Ange des flammes # Posté le 31/07/2011 à 19:20:14
Avatar

De rien.

As-tu tenté un unlink() après le readfile() ?
Sans créer de nouveau fichier, tu veux dire sans que l'archive soit présente physiquement sur le serveur ?

As long as I'm here, they are the prey and I am the hunter.
You always have the choice, hunted or hunter ?
Demon hunter
 
Hors ligne Zhela # Posté le 31/07/2011 à 19:54:58
Avatar

Ville : Court-st-etienne
Pays : Belgique
Études : Université catholique de Louvain

Ca alors, c'est vrai, un simple unlink() fonctionne !
Je pensais que ça allait couper le téléchargement, mais effectivement, en y réfléchissant, la page récupère le contenu de l'archive avec readfile(), elle ne fait pas que pointer vers l'archive.

Merci ;)
 
Hors ligne Ange des flammes # Posté le 31/07/2011 à 19:55:59
Avatar

Mais de rien ^^ C'était juste un ptite idée comme ça ^^

As long as I'm here, they are the prey and I am the hunter.
You always have the choice, hunted or hunter ?
Demon hunter
 
Hors ligne haydenx # Posté le 03/08/2011 à 15:10:30

Études : BTS IG Paris

excellent tuto vraiment
Hors ligne Ange des flammes # Posté le 03/08/2011 à 15:11:01
Avatar

Merci haydenx

As long as I'm here, they are the prey and I am the hunter.
You always have the choice, hunted or hunter ?
Demon hunter
 
Pour accéder à cette section
Connectez-vous !
connexion_rpx