Comment extraire/décompresser un dossier sur un serveur FTP en PHP

À présent, nous téléchargeons et uploadant des fichiers sur le serveur, mais nous avons parfois besoin de télécharger un gros fichier sur le serveur. Il existe deux options pour télécharger le fichier: décompresser manuellement l’archive sur notre ordinateur local et télécharger le dossier extrait via FTP est de créer un fichier zip et de le télécharger sur FTP. Le protocole FTP n’autorisant pas l’extraction de fichier zip, nous devons le faire nous-mêmes. Dans ce tutoriel, nous allons voir le script qui extraira le fichier sur FTP.
 
 
Nous avons utilisé la classe php ZipArchive, vous pouvez lire la documentation complète et l’installation à partir du lien ci-dessus.

Les étapes suivantes sont nécessaires pour extraire un fichier zip sur FTP.

  • Étape 1: Créez un fichier Zip et téléchargez-le sur FTP.
  • Étape 2: Créez un fichier extraire.php.
  • Étape 3: Collez la méthode ci-dessous sur le fichier ci-dessus.
<?php  
     $zip = new ZipArchive;  
     $res = $zip->open('archive.zip');  
     if ($res === TRUE) {  
         $zip->extractTo('dest/');  
         $zip->close();  
         echo 'ok';  
     } else {  
         echo 'failed';  
     }  
?>

Pour la méthode ci-dessus, nous devons remplacer le nom « archive.zip » par le nom de votre fichier zip cible et le répertoire dest/ par le répertoire de destination. Dans le code, nous créons d’abord une instance de la classe ZipArchive, puis appelons la méthode open de la classe ZipArchive. Si le zip est ouvert, vous pouvez alors utiliser la méthode d’extraction « extractTo() » et enfin fermer le zip « close() ».

Étape 4: Exécutez le fichier extraire.php maintenant, vous obtiendrez tous les fichiers extrait dans votre répertoire de destination « dest/ ».
 

Partagez cet article

6 réflexions sur “Comment extraire/décompresser un dossier sur un serveur FTP en PHP

  • Avatar
    novembre 3, 2019 à 4:37
    Permalien

    Manipuler vos fichiers en les Zippant avec PHP. Le code est complet et ne necessite pas de librairie supplementaire. Exemple de mise en place fourni.

    Répondre
  • Avatar
    avril 6, 2020 à 10:15
    Permalien

    Merci pour cette astuce. Je voulais savoir comment exécute-t-on le fichier extraire.php désormais sur le répertoire ftp ?
    Merci pour la réponse, michel

    Répondre
      • Avatar
        mars 9, 2021 à 10:52
        Permalien

        Bonjour Thomas
        Je ne comprends pas « il suffit de naviguer vers l’emplacement du fichier extraire.php » pour exécuter extraire.php
        Merci pour la réponse, mon prénom est aussi Michel.

        Répondre
  • Avatar
    janvier 27, 2021 à 9:32
    Permalien

    bonjour,

    je souhaite que le script dézip automatiquement le fichier tout les soirs à 23h59 auriez-vous une idée du script à écrire en plus?

    merci de votre retour,

    johann

    Répondre
    • Thomas Clavet
      janvier 27, 2021 à 12:19
      Permalien

      Je vous recommande de regarder un tuto sur l’exécution de tâches planifiées (cron jobs en PHP).

      Voici un petite exemple, d’aobord vous devez installer php-cli puis taper la commande suivante

      59 23 * * * <chemin>/php -q tonScript.php

      La commande ci-dessus, lance le script PHP « tonScript.php » à 23h59 chaque jour.

      Bon courage 🙂

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *