begin process at 2012 02 11 00:34:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > VISUALISER LE CONTENU D'UN FICHIER *.ZIP

VISUALISER LE CONTENU D'UN FICHIER *.ZIP


 Information sur la source

Note :
8,63 / 10 - par 8 personnes
8,63 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :visualiser, contenu, fichier, zip, afficher Niveau :Débutant Date de création :26/06/2005 Date de mise à jour :22/08/2005 14:51:19 Vu / téléchargé :5 063 / 402

Auteur : grandvizir

Ecrire un message privé
Site perso
Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
zip_open, zip_read, zip_entry_name, zip_entry_filesize, zip_entry_compressedsize, ratio, zip_entry_compressionmethod, zip_is_file, zip_close, function_exists, $_FILES, php_zip.dll

Ca affiche juste le contenu d'un ZIP posté via un formulaire. Pour créer un vrai fichier ZIP, le mieux est d'utiliser la librairie ZLIB et le code http://www.phpcs.com/code.aspx?id=13282

Remarque:
Avec la librairie Zip (que vous devez activer dans PHP.INI pour que le code fonctionne), pour ouvrir un fichier précis sur un serveur, vous devez fournir le chemin COMPLET ! Vous avez alors:
$Zip=zip_open($_SERVER['DOCUMENT_ROOT'].'/D ossierWeb/Fichier.zip');

Programme testé avec:
  Apache 1.3.27
  PHP 4.3.3

Source

  • <html>
  • <title>Afficher le contenu d'un ZIP</title>
  • <body>
  • <?php
  • if (!function_exists('zip_open')) {
  • echo '<font size=8><b>La librairie ZIP n\'est pas<br>active sur le serveur</b></font>';
  • echo '<br>&nbsp;<br>Modifier "<code>PHP.INI</code>" pour pouvoir continuer...</body></html>';
  • return 0;
  • }
  • function zip_is_dir($Value) {
  • if (strlen($Value)==0)
  • return false;
  • else
  • return ($Value=='.') || ($Value=='..') || ($Value[strlen($Value)-1]=='/');
  • }
  • if (!isset($_FILES['fnFichier'])) {
  • ?>
  • <form name="frmZipView" action="zip.php" method="post" ENCTYPE="multipart/form-data">
  • Choisir le fichier
  • <br><input type="file" name="fnFichier">
  • <br><input type="submit" name="butSend" value="Voir contenu">
  • </form>
  • <?php
  • } else {
  • $Fln = $_FILES['fnFichier'];
  • if ($Zip = zip_open($Fln['tmp_name'])) {
  • echo '<font size=+3><b>'.strtoupper($Fln['name']).'</b></font>';
  • echo '<font face="Courier New">';
  • echo '<table border=1 width="60%">';
  • while ($dat=zip_read($Zip)) {
  • $ZFic = zip_entry_name($dat);
  • echo '<tr>';
  • if (zip_is_dir($ZFic))
  • echo '<td bgcolor="#D0D0D0" colspan=2><img src="_dir.gif" align=absmiddle>&nbsp;<font face="Courier New"><b>'.$ZFic.'</b></font></td>';
  • else {
  • $ExpSize = zip_entry_filesize($dat);
  • $CompSize = zip_entry_compressedsize($dat);
  • $Ratio = round(100*100*$CompSize/$ExpSize)/100;
  • $CmpMethod = zip_entry_compressionmethod($dat);
  • echo '<td><img src="_file.gif" align=absmiddle>&nbsp;'.$ZFic.'</td>';
  • echo '<td><font size=2>'.$ExpSize.' octets réels'.
  • '<br>'.$CompSize.' octets archivés'.
  • '<br>Ratio = '.$Ratio.'%'.
  • '<br><i>'.$CmpMethod.'</i></font></td>';
  • }
  • echo '</tr>';
  • }
  • zip_close($Zip);
  • echo '</table>';
  • echo '</font>';
  • }
  • }
  • ?>
  • </body>
  • </html>
<html>
  <title>Afficher le contenu d'un ZIP</title>
<body>
  <?php
    if (!function_exists('zip_open')) {
      echo '<font size=8><b>La librairie ZIP n\'est pas<br>active sur le serveur</b></font>';
      echo '<br>&nbsp;<br>Modifier "<code>PHP.INI</code>" pour pouvoir continuer...</body></html>';
      return 0;
    }

    function zip_is_dir($Value) {
      if (strlen($Value)==0)
        return false;
      else
        return ($Value=='.') || ($Value=='..') || ($Value[strlen($Value)-1]=='/');
    }

    if (!isset($_FILES['fnFichier'])) {
  ?>

    <form name="frmZipView" action="zip.php" method="post" ENCTYPE="multipart/form-data">
      Choisir le fichier
      <br><input type="file" name="fnFichier">
      <br><input type="submit" name="butSend" value="Voir contenu">
    </form>

  <?php
    } else {
      $Fln = $_FILES['fnFichier'];
      if ($Zip = zip_open($Fln['tmp_name'])) {
        echo '<font size=+3><b>'.strtoupper($Fln['name']).'</b></font>';
        echo '<font face="Courier New">';
        echo '<table border=1 width="60%">';
        while ($dat=zip_read($Zip)) {
          $ZFic = zip_entry_name($dat);
          echo '<tr>';
            if (zip_is_dir($ZFic))
              echo '<td bgcolor="#D0D0D0" colspan=2><img src="_dir.gif" align=absmiddle>&nbsp;<font face="Courier New"><b>'.$ZFic.'</b></font></td>';
            else {
              $ExpSize = zip_entry_filesize($dat);
              $CompSize = zip_entry_compressedsize($dat);
              $Ratio = round(100*100*$CompSize/$ExpSize)/100;
              $CmpMethod = zip_entry_compressionmethod($dat);

              echo '<td><img src="_file.gif" align=absmiddle>&nbsp;'.$ZFic.'</td>';
              echo '<td><font size=2>'.$ExpSize.' octets réels'.
                   '<br>'.$CompSize.' octets archivés'.
                   '<br>Ratio = '.$Ratio.'%'.
                   '<br><i>'.$CmpMethod.'</i></font></td>';
            }
          echo '</tr>';
        }
        zip_close($Zip);
        echo '</table>';
        echo '</font>';
      }
    }
  ?>
</body>
</html>

 Conclusion

Vous pouvez toujours aller visiter http://altert.family.free.fr/

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

27 juin 2005 22:08:32 :
- zip_is_file disait si le paramètre est un dossier... euh?
27 juin 2005 22:13:37 :
- Problème de Zip
22 août 2005 14:51:19 :
- Ajout d'informations complémentaires au sujet des Zips : compression, ratio... etc

 Sources du même auteur

Source avec Zip JEU DU MORPION INTELLIGENT: HUMAIN VERSUS PHP
Source avec Zip PROTÉGER LE TÉLÉCHARGEMENT DES FICHIERS ZIP
Source avec Zip GÉRER DES FICHIERS DE CONFIGURATION INI [POO]
Source avec Zip GÉRER DES LISTES AVEC TSTRINGLIST [POO]
EXTENSIONS CHARGÉES SUR UN SERVEUR

 Sources de la même categorie

Source avec Zip COMPTEUR DE CLIQUE PHP AVEC JQUERY par devgoneti
Source avec Zip LIVRE D'OR SIMPLE (POUR DÉBUTANT) par devgoneti
Source avec Zip SCRIPT TRAVAUX POUR VOTRE SITE par FleuryK
Source avec Zip Source avec une capture EL COYOTOS LIVRE D'OR PHP 5 par elcoyotos
COMPTEUR DE VISITE - FICHIER TXT - CODE MINIMAL par SuperChouquette

 Sources en rapport avec celle ci

CLASSE DE GESTION DE "VARIABLES GLOBALES D'ENVIRONNEMENT" par pifou25
UPLOADER DES FICHIER DANSUN DOSSIER, SÉCURISÉ AVEC MOT DE PA... par raizzo
COMPTEUR DE VISITES SUR FICHIER par pierreSabatier
Source avec Zip Source avec une capture A-ANNONCES VERSION PHP 5 par cod57
GESTION FTP (CLASSE) par shevabam

Commentaires et avis

Commentaire de MadM@tt le 28/06/2005 17:49:46

Si seulement tu avais pu poster ce code une semaine plus tot ça m'aurait évité des heures de recherches lol...
C'est un bon exemple surtout qu'il n'y en existe pas d'autre sur ce site à ma connaissance.

Commentaire de wizard512 le 01/07/2005 16:39:34

comment paramètrer "php.ini" pour pouvoir accéder a ton script??????????????

Commentaire de grandvizir le 02/07/2005 19:41:06

Si tu héberges chez toi, il n'y a pas de problèmes. Sur un FAI, c'est plus délicat étant donné que tu n'es pas propriétaire du serveur. De ce fait, soit tu te résignes à ne pas pouvoir utiliser le code, soit tu tentes un petit mail aux autorités compétentes pour qu'ils débloquent la librairie. En théorie, cette ressource n'est pas "dangereuse", donc ça pourrait se faire (on peut toujours espérer!). Mais c'est vrai que c'est dommage qu'elle soit inactivée par défaut. J'en suis complètement irresponsable... et pour tout avouer, le matin même du jour où j'ai déposé ce code, je ne savais même pas que cette librairie existait 8-)

;)

Commentaire de wizard512 le 03/07/2005 13:33:48

g le fai en local pour l'instant (easyphp8)
comment paramétrer "php.ini" pour pouvoir executer se script???????????????????????

Commentaire de grandvizir le 03/07/2005 18:42:44

1) Ouvre apache\php.ini
2) Enlève en bas du fichier dans la section [Extensions] le point virgule sur la ligne "php_zip.dll"
3) Redémarre Apache, et si ça bugge, alors c'est le PC qu'il faut redémarrer

Voici un exemple analogue et surtout explicite :
http://www.siteduzero.com/php/gd.php#activer

Pour connaître toutes les librairies actives sur un serveur, voir le fichier "admin\exts.php" dans :
http://www.phpcs.com/code.aspx?ID=29594

Commentaire de wizard512 le 03/07/2005 22:31:56

sa marche nickelle elle déchire ta source g te mé 10/10

Commentaire de MadM@tt le 03/07/2005 23:25:12

Oui mais n'oublie pas comme l'a dit GrandVisir de t'assurer que ces fonctions seront disponibles chez ton hébergeur, sinon ton script ne servira à rien hélas...

Bonne prog

Commentaire de wizard512 le 03/07/2005 23:42:48

g sui entrain de créer mes propres serveur d'hébergement alors c bon!!!

Commentaire de MadM@tt le 03/07/2005 23:52:14

ah ok ;)

Commentaire de PaTaTe le 17/12/2005 12:27:01

J'ai php_zip activé mais la fonction zip_is_dir n'est pas dispo. Je suis sous Apache 1.3.33 et PHP 4.3.10

Comment faire ?

Merci

Commentaire de grandvizir le 17/12/2005 14:47:00

zip_is_dir() est une fonction implémentée dans le code source PHP ici présent. Elle est indépendante de la librairie ZIP. Elle fait juste du plagiat au niveau du nom.

function zip_is_dir($Value) {
  if (strlen($Value)==0)
    return false;
  else
    return ($Value=='.') || ($Value=='..') || ($Value[strlen($Value)-1]=='/');
}

Commentaire de karoudoudou le 09/01/2006 09:41:45

Coucou,

J'ai activé l'extension zip ds le php.ini comme tu l'avais indiqué, relancé apache et tout(Je suis sous apache 1.3.33 et php 4.3.11) mais il me met toujours call undefinde function quand j'essaye d'utiliser zip_open. help!!!!!!!

Commentaire de grandvizir le 11/02/2006 20:24:02

En chipotant, je répondrai que j'utilise PHP 4.3.3 et non 4.3.11 ou même 4.3.10. Mon fichier "php_zip.dll" fait 40960 octets (EasyPHP17). Je ne peux rien dire de plus à part que chez moi, c'est 100% fonctionnel.

Commentaire de papawemba le 05/09/2006 11:59:03

coucou,
bon je vois qu'il n'y a pas eu de post depuis février mais je tente ma chance...

je suis dans le meme cas que Karoudoudou, et en poussant mais recherche je pense avoir trouvé une piste interressante mais non résolue, je compte sur votre aide :o)

en fait cela proviendrait du chemin du fichier zip dans la fonction zip_open,
elle fonctionne très bien lorsqu'on lui passe le chemin complet pour acceder au fichier zip(c:/aa/test.zip), mais dès lors qu'on met un chemin relatif (/zip/test.zip), là ça merde :o(

a+

Commentaire de dydjy940 le 18/06/2008 21:19:54 10/10

meme si je repond 2 ans apres le post de cette source: merci pour ta source :)

10/10

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

lire et afficher fichier xls [ par thomason1986 ] bonjour , s'il vous plais je veux un code qui me permet de lire le contenu d' un fichier xlset d'afficher son contenu en php. afficher le contenu d'un fichier .txt ligne par ligne [ par Sniark ] Bonjour à tous,Je cherche à lire afficher le contenu d'un fichier .txt ligne par ligne. J'ai cherché sur google, mais n'ai rien trouvé en PHP. Pourtan afficher le contenu d'un fichier doc dans une page php ou html [ par Medgueye ] Bonjour à toutes et tous;Je voudrai savoir s'il ya moyen d'afficher le contenu d'un fichier doc dans une page html ou php tout en gardant le formatage PHP et XML [ par romain14g59 ] Bonjour je voudrais savoir si il et possible d'afficher dans un tableau en php ce fichier XML par exemple, j'arrive à afficher le premier enregistreme Compression fichier(s) [ par yoarf ] Bonjour,Voici mon code qui permet de télécharger un fichier compressé :require("fonctions/zip.lib.php") ; //indiquez le chemin d'accès à la librérie$z Lister les fichier contenu dans un repertoire + les inclure dans la page [ par dydjy940 ] Bonjour, je cherche un script qui inclu dans une page tout les fichier qu'il y a dans un repertoire, j'ai essayer avec fopen() mais sans succès.Merci PHP Afficher le contenu d'un dossier et de ses sous-dossiers [ par jibtothenight ] Bonjour, avec ce code j'arrive à afficher le contenu de mon dossier :&lt;?php $dir = opendir('intranet/image_hd/'); while($file = readdir($dir)) { ech Affichage du contenu d'un fichier texte [ par bruce207 ] Bonjour,je suis entrain de réaliser un site pour un journal. J'ai crée une bdd (mysql)dans laquelle un champ Contenu contient l'article proprement dit contenu de .txt dans une variable [ par Sniark ] Bonjour à tous,Question simple, mais je cherche depuis 2h30 sans succès...J'ai un fichier info.txt dont le contenu est généré dynamiquement à la suite php et xml [ par lsamsoumal ] je cherche depuis 2 jours une solution à mon problème et je n'avance pasj'ai un code qui génére un fichier xml mais il ne l'affiche plus sur le naviga


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales