IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Décompresser une archive remplie de photos


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Par défaut Décompresser une archive remplie de photos
    Bonjour , merci je recherche un script qui fasse ça.

    merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Un peu de recherche ?
    http://julp.developpez.com/php/zip/
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Par défaut
    Quand j'utilise le script de désarchivage de php4 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # Exemples d'utilisation
    # Extraction de l'ensemble des fichiers qui composent l'archive
    extractTo('archives.zip', '');
    J'obtiens des erreurs :

    Warning: zip_read() expects parameter 1 to be resource, integer given in C:\Program Files\EasyPHP 3.0\www\test\zip.php on line 22

    Warning: zip_close() expects parameter 1 to be resource, integer given in C:\Program Files\EasyPHP 3.0\www\test\zip.php on line 43

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Indique le chemin complet vers ton fichier zip.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Par défaut permission php fopen
    http://seabova.com/zip.php

    /home/content/s/e/a/seabova/html/idxphotos.zip
    Warning: fopen(/538368a.jpg) [function.fopen]: failed to open stream: Permission denied in /home/content/s/e/a/seabova/html/zip.php on line 34


    Bonjour j'aimerais pouvoir à partir d'un script php être capable d'extraire une archive zip.

    Voici le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    <?php
    function mkdir_recursif($dir) {
    $parties = preg_split('#/' . preg_quote(DIRECTORY_SEPARATOR) . '#', $dir, -1, PREG_SPLIT_NO_EMPTY);
    $base = '';
    foreach ($parties as $p) {
    if (!file_exists($base . $p)) {
    mkdir($base . $p);
    }
    $base .= $p . DIRECTORY_SEPARATOR;
    }
    }
     
    function extractTo($archive, $destination, $ecrase = FALSE, $fichiers = NULL) {
    if (($zip = zip_open($archive)) === FALSE) {
    die(var_dump($zip));
    return FALSE;
    }
    if (!file_exists($destination)) {
    mkdir_recursif($destination);
    }
    while ($entree = zip_read($zip)) {
    $fichier = zip_entry_name($entree);
    if (is_array($fichiers) && !in_array($fichier, $fichiers)) {
    continue;
    }
    if (zip_entry_open($zip, $entree)) {
    $contenu = zip_entry_read($entree, zip_entry_filesize($entree));
    zip_entry_close($entree);
    if ($ecrase !file_exists($destination . DIRECTORY_SEPARATOR . $fichier)) {
    if (strpos($fichier, '/') !== FALSE) {
    mkdir_recursif($destination . DIRECTORY_SEPARATOR . dirname($fichier));
    }
    $fp = fopen($destination . DIRECTORY_SEPARATOR . $fichier, 'w');
    fwrite($fp, $contenu);
    fclose($fp);
    }
    } else {
    zip_close($zip);
    return FALSE;
    }
    }
    zip_close($zip);
    return TRUE;
    }
     
     
    $path = '/home/content/s/e/a/seabova/html/idxphotos.zip';
    echo $path;
     
    # Exemples d'utilisation
    # Extraction de l'ensemble des fichiers qui composent l'archive
    extractTo( $path, '');
     
    /*
    $path = '/home/content/s/e/a/seabova/html/idxfullphotos.zip';
    extractTo( $path, '');
    */
    ?>
    Sur mon serveur local ca marche (windows xp avec easyphp) mais pas sur mon hébergeur .

    zip.php est en mode 777 ainsi que les archives zip ainsi que les dossiers idxphotos et idxfullphotos donc je ne comprends pas.

    merci de votre aide.

  6. #6
    Membre éclairé
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Par défaut
    une petite modification :

    changer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function extractTo($archive, $destination, $ecrase = FALSE, $fichiers = NULL) {
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    function extractTo($archive, $destination, $ecrase = FALSE, $fichiers = NULL) {
     
     
    $destination = $_SERVER['DOCUMENT_ROOT'] .'/'. $destination;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Décompresser une archive ZIP en PHP
    Par Leeloe dans le forum Langage
    Réponses: 1
    Dernier message: 04/09/2012, 18h23
  2. Décompresser une archive après l'avoir téléchargée
    Par morinxav1 dans le forum Débuter
    Réponses: 29
    Dernier message: 21/05/2012, 15h09
  3. Réponses: 1
    Dernier message: 06/07/2009, 13h08
  4. [unzip] Problème pour décompresser une archive zip
    Par lammouch dans le forum MATLAB
    Réponses: 11
    Dernier message: 03/04/2008, 17h56
  5. [Zip] Décompresser une archive zip ou .gz
    Par Invité(e) dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 23/02/2007, 07h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo