以下のコードを使用することで、FTPサーバー上のZIPファイルを展開できます。
<?php // FTPサーバーの設定 $ftp_server = "ftp.example.com"; $ftp_user = "username"; $ftp_pass = "password"; // ZIPファイルのパス $zip_file = "path/to/yourfile.zip"; $extract_to = "path/to/extract/"; // FTP接続 $conn_id = ftp_connect($ftp_server); $login_result = ftp_login($conn_id, $ftp_user, $ftp_pass); // ZIPファイルを一時的にローカルにダウンロード $temp_file = tempnam(sys_get_temp_dir(), 'zip'); if (ftp_get($conn_id, $temp_file, $zip_file, FTP_BINARY)) { // ZipArchiveクラスを使用してZIPファイルを展開 $zip = new ZipArchive; if ($zip->open($temp_file) === TRUE) { $zip->extractTo($extract_to); $zip->close(); echo "ZIPファイルが正常に展開されました。"; } else { echo "ZIPファイルの展開に失敗しました。"; } } else { echo "ZIPファイルのダウンロードに失敗しました。"; } // 一時ファイルを削除 unlink($temp_file); // FTP接続を閉じる ftp_close($conn_id); ?>
コードの解説
このコードでは、以下の手順でFTP上のZIPファイルを展開しています。
- FTPサーバーに接続し、ログインします。
- 指定したZIPファイルを一時的にローカルにダウンロードします。
- PHPの
ZipArchive
クラスを使用してZIPファイルを展開します。 - 展開先のディレクトリにファイルを保存します。
- 一時ファイルを削除し、FTP接続を閉じます。
注意点
このコードを実行するには、以下の点に注意してください。
- FTPサーバーの情報(ホスト名、ユーザー名、パスワード)を正しく設定してください。
- 展開先のディレクトリが存在し、書き込み権限があることを確認してください。
- PHPの
ZipArchive
クラスが有効になっていることを確認してください。
まとめ
PHPを使用してFTPサーバー上のZIPファイルを展開する方法を紹介しました。この方法を利用することで、リモートサーバー上のZIPファイルを簡単に管理できます。必要に応じて、コードをカスタマイズして使用してください。
コメント