現在の位置: ホーム> 最新記事一覧> PHPを介してFTPサーバーにファイル圧縮と減圧操作を実装する

PHPを介してFTPサーバーにファイル圧縮と減圧操作を実装する

M66 2025-06-30

FTPサーバーにPHPを介してファイル圧縮と減圧を実装する

Web開発では、FTPサーバーはファイル転送に広く使用されています。ファイル圧縮および減圧技術は、ファイルサイズを効果的に削減し、伝送効率を向上させることができます。この記事では、PHPを介してFTPサーバーにファイル圧縮と減圧操作を実装する方法を紹介します。

準備

PHP操作を実行する前に、FTP拡張機能とZIP拡張機能がインストールされ、サーバーに有効になっていることを確認してください。 extension_dirをphp.iniファイルに構成して、zipモジュールとFTPモジュールが有効になっていることを確認することにより、関連する拡張機能をロードできます。

圧縮ファイル

FTPサーバーでファイルを圧縮するには、まずzipファイルを作成し、ファイルを1つずつ追加する必要があります。以下は、PHPを介してFTPサーバー上のファイルを圧縮する方法を示すサンプルコードです。

<?php
// FTPサーバー接続情報
$ftp_host = 'サーバーアドレス';
$ftp_user = 'ユーザー名';
$ftp_pass = 'パスワード';

// 圧縮されるファイルのディレクトリと名前
$zip_path = 'path/to/compress';
$zip_name = 'compress.zip';

// に接続しますFTPサーバ
$ftp = ftp_connect($ftp_host);
ftp_login($ftp, $ftp_user, $ftp_pass);

// aを作成しますZIP書類
$zip = new ZipArchive;
$zip-> open($ zip_name、ziparchive :: create);

//ファイルディレクトリをトラバースし、それぞれファイルをzipファイルに追加します$ files = scandir($ zip_path);
foreach($ files as $ file){
    if($ file!== &#39;。&#39; && $ file!== &#39;..&#39;){
        $ zip-> addfile($ zip_path。 &#39;/&#39;。$ file、$ file);
    }
}

// zipファイルを近いじます$ zip-> close();

// ZIPファイルをFTPサーバーftp_put($ ftp、$ zip_name、$ zip_name、ftp_binary)にアップロードします。

// ftp接続を近いじますftp_close($ ftp);
?>

ファイルを解凍します

FTPサーバーのファイルを解凍するには、まずFTPサーバーからzipファイルをダウンロードしてから、指定されたディレクトリに解凍する必要があります。ファイルを減圧するためのサンプルコードは次のとおりです。

<?php
// FTPサーバー接続情報
$ftp_host = 'サーバーアドレス';
$ftp_user = 'ユーザー名';
$ftp_pass = 'パスワード';

// 減圧されますZIP書類和目标目录
$zip_name = 'compress.zip';
$unzip_path = 'path/to/unzip';

// に接続しますFTPサーバ
$ftp = ftp_connect($ftp_host);
ftp_login($ftp, $ftp_user, $ftp_pass);

// からFTPサーバ下载ZIP書類
ftp_get($ftp, $zip_name, $zip_name, FTP_BINARY);

// 減圧ZIP書類到指定目录
$zip = new ZipArchive;
if ($zip-> open($ zip_name)=== true){
    $ zip->抽出($ unzip_path);
    $ zip-> close();
    Echo &#39;減圧が普通に! &#39;;
} それ以外 {
    Echo &#39;減圧が失敗しました! &#39;;
}

// ftp接続を近いじますftp_close($ ftp);
?>

要約します

上記の方法により、FTPサーバーにファイル圧縮操作と減圧操作を簡単に実装できます。サイズを減らすためのファイル圧縮であろうと、さらなる処理のための減圧であろうと、ファイル転送効率を改善できます。うまくいけば、この記事で提供されているコードの例が、FTPサーバーのファイル転送タスクをより適切に管理するのに役立つことを願っています。