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/ ».
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.
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
Bonjour Michel,
Il suffit de naviguer vers l’emplacement du fichier extraire.php
Bon courage 🙂
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.
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
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
La commande ci-dessus, lance le script PHP « tonScript.php » à 23h59 chaque jour.
Bon courage 🙂