Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 03/11/2006, 16h10   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 2
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2006
Messages : 2
Points : 1
Points : 1
Envoyer un message via ICQ à Ja_buzz
Par défaut Lecture d'un fichier dans un archive '.zip'

Bonjour,

Voici mon problème, je souhaite créer une fonction me permettant de lire le contenu d'un fichier texte contenu à la racine d'un archive ".zip". Mais je coince dans le code, je n'arrive pas à trouver le moyen de sélectionner le fichier voulu par son nom.


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
function readme($fichier)
 
{
 
$zip = zip_open($fichier);
 
if ($zip) 
 
{
 
  $zip_entry = zip_read($zip);
 
/* Le code manquant doit se trouver ici */ 
 
  zip_entry_close($zip_entry);
 
}
 
 zip_close($zip);
 
}
 
?>
Le but est d'afficher le fichier "Readme.txt" de l'archive .zip, mais malheuresement je n'arrive pas à m'en sortir avec la doc, j'ai meme l'impression que seulement le listage est possible, mais n'étant pas expert, j'aimerai en etre sur
Vous remerciant par avance d'un réponse constructive
Ja_buzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2006, 17h20   #2
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Salut,
je crois qu'il faut que tu fasses une boucle :

http://fr3.php.net/zip
exemple 4

et donc un test if(zip_entry_name($zip_entry) == $fichier) pour savoir si c'est le bon fichier.

Bye
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2006, 16h14   #3
Invité de passage
 
Inscription : novembre 2006
Messages : 2
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2006
Messages : 2
Points : 1
Points : 1
Envoyer un message via ICQ à Ja_buzz
Par défaut re

merci, en effet il fallait rajouter cette condition
mais je me suis arraché les cheveu pour la faire fonctionner en local cette fonction, voila le code:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
<?
$zip = zip_open('TEST_ZIP.zip');
 
if ($zip)
 
	{
		while ($zip_entry = zip_read($zip))
 
			{
				 echo "Nom :              " . zip_entry_name($zip_entry) . "\n";
				 echo "Taille du fichier :    " . zip_entry_filesize($zip_entry) . "\n";
				 echo "Taille compressée :    " . zip_entry_compressedsize($zip_entry) . "\n";
				 echo "Méthode de compression : " . zip_entry_compressionmethod($zip_entry) . "\n";
 
				if (zip_entry_open($zip, $zip_entry, "r"))
 
				{
					  if(zip_entry_name($zip_entry) == 'readme.txt') 
 
						{
							 echo "Contenu du fichier :\n";
							 $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
							 echo "$buf\n";
							 zip_entry_close($zip_entry);
					    }
				}
       echo "\n";
 
			 }
 
   zip_close($zip);
		}
 
 
 
?>
Ja_buzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h15.


 
 
 
 
Partenaires

Hébergement Web