Position actuelle: Accueil> Derniers articles> Implémentez les opérations de compression et de décompression des fichiers sur le serveur FTP via PHP

Implémentez les opérations de compression et de décompression des fichiers sur le serveur FTP via PHP

M66 2025-06-30

Implémentez la compression et la décompression des fichiers via PHP sur le serveur FTP

Dans le développement Web, les serveurs FTP sont largement utilisés pour le transfert de fichiers. La technologie de compression et de décompression des fichiers peut réduire efficacement la taille des fichiers et améliorer l'efficacité de la transmission. Cet article présentera comment implémenter les opérations de compression et de décompression des fichiers sur un serveur FTP via PHP.

Préparation

Avant d'effectuer des opérations PHP, assurez-vous que les extensions FTP et les extensions ZIP sont installées et activées sur le serveur. Vous pouvez charger des extensions pertinentes en configurant l'extension_dir dans le fichier php.ini pour vous assurer que les modules ZIP et FTP sont activés.

Fichiers compressés

Pour compresser un fichier sur un serveur FTP, nous devons d'abord créer un fichier zip et y ajouter les fichiers un par un. Vous trouverez ci-dessous un exemple de code qui montre comment compresser des fichiers sur un serveur FTP via PHP.

<?php
// FTPInformations sur la connexion du serveur
$ftp_host = 'Adresse du serveur';
$ftp_user = 'nom d&#39;utilisateur';
$ftp_pass = 'mot de passe';

// Le répertoire et le nom du fichier à comprimer
$zip_path = 'path/to/compress';
$zip_name = 'compress.zip';

// Se connecter àFTPserveur
$ftp = ftp_connect($ftp_host);
ftp_login($ftp, $ftp_user, $ftp_pass);

// Créer unZIPdocument
$zip = new ZipArchive;
$zip-> open ($ zip_name, ziparchive :: create);

// traverse le répertoire de fichiers et ajoutez chaque fichier au fichier zip $ files = scandir ($ zip_path);
foreach ($ files as $ file) {
    if ($ file! == &#39;.&#39; && $ file! == &#39;..&#39;) {
        $ zip-> addfile ($ zip_path. &#39;/&#39;. $ file, $ file);
    }
}

// Fermez le fichier zip $ zip-> close ();

// Téléchargez le fichier zip sur le serveur FTP FTP_PUT ($ ftp, $ zip_name, $ zip_name, ftp_binary);

// Fermez la connexion FTP FTP_CLOSE ($ ftp);
?>

Dézipper le fichier

Pour décompresser le fichier sur le serveur FTP, nous devons d'abord télécharger le fichier zip à partir du serveur FTP, puis le décompresser dans le répertoire spécifié. Voici l'exemple de code pour décompresser le fichier:

<?php
// FTPInformations sur la connexion du serveur
$ftp_host = 'Adresse du serveur';
$ftp_user = 'nom d&#39;utilisateur';
$ftp_pass = 'mot de passe';

// Être décompresséZIPdocument和目标目录
$zip_name = 'compress.zip';
$unzip_path = 'path/to/unzip';

// Se connecter àFTPserveur
$ftp = ftp_connect($ftp_host);
ftp_login($ftp, $ftp_user, $ftp_pass);

// depuisFTPserveur下载ZIPdocument
ftp_get($ftp, $zip_name, $zip_name, FTP_BINARY);

// DécompresserZIPdocument到指定目录
$zip = new ZipArchive;
if ($zip-> open ($ zip_name) === true) {
    $ zip-> extractto ($ unzip_path);
    $ zip-> close ();
    Faire écho à la décompression avec succès! &#39;;;
} autre {
    Echo &#39;La décompression a échoué! &#39;;;
}

// Fermez la connexion FTP FTP_CLOSE ($ ftp);
?>

Résumer

Grâce aux méthodes ci-dessus, nous pouvons facilement implémenter les opérations de compression et de décompression des fichiers sur le serveur FTP. Qu'il s'agisse de compression de fichiers pour réduire la taille ou la décompression pour un traitement ultérieur, l'efficacité du transfert de fichiers peut être améliorée. Espérons que les exemples de code fournis dans cet article peuvent vous aider à mieux gérer les tâches de transfert de fichiers sur les serveurs FTP.