概要
PHPのZiparchiveクラスは、開発者が圧縮パッケージを作成、変更、抽出するのに役立つ非常に強力なツールです。多くの実用的なアプリケーションでは、特に適切に対応するために大規模なファイルを扱う場合、圧縮パッケージ内のファイルでサイズの判断を下す必要がある場合があります。この記事では、PHPのZiparchiveクラスを介して圧縮パッケージのファイルサイズを取得して判断する方法を教えてください。
ステップ1:圧縮パッケージを開きます
まず、Ziparchiveオブジェクトを作成し、「Open」メソッドを使用してZippackファイルを開く必要があります。これがコードの例です。
$ zip = new Ziparchive;
if($ zip-> open( 'path/to/your/archive.zip')=== true){
//圧縮パッケージが普通に開けるかれている} else {
//圧縮パッケージが開けるくことができなかった}
ステップ2:ファイル情報を取得します
次に、ファイル名とファイルサイズなどを含む「StatIndex」メソッドを介して指定されたインデックスでファイルの詳細情報を取得できます。最初のファイルサイズを取得するためのコード例を次に示します。
$ fileinfo = $ zip-> statindex(0); //最初のファイルの情報を得る$ filesize = $ fileinfo ['size']; //ファイルサイズを得るします
ステップ3:ファイル名を取得します
同様に、「getnameindex」メソッドを使用して、指定されたインデックスでファイルのファイル名を取得することもできます。最初のファイル名を取得するためのコード例は次のとおりです。
$ filename = $ zip-> getNameIndex(0); //最初のファイルのファイル名前を得るします
ステップ4:圧縮パッケージ内のすべてのファイルをトラバースします
圧縮されたパッケージ内のすべてのファイルを反復し、ファイル名とファイルサイズを出力する必要がある場合は、次の完全なコードの例を参照できます。
$ zip = new Ziparchive;
if($ zip-> open( 'path/to/your/archive.zip')=== true){
for($ i = 0; $ i <$ zip-> numfiles; $ i ++){
$ fileinfo = $ zip-> statindex($ i);
$ filename = $ zip-> getnameIndex($ i);
$ filesize = $ fileinfo ['size'];
echo "ファイル名前:$ filename、file size:$ filesize bytes";
}
$ zip-> close();
} それ以外 {
echo 'zippedパッケージファイルを開けるくことはできません」。
}
注意すべきこと
- Ziparchiveクラスを使用する前に、PHPのzip拡張が有効になっていることを確認してください。
- ジップパッケージ内のファイルを読み取る前に、Zippedパッケージが正常に開かれていることを確認してください。
- 上記のコードの例は、圧縮パッケージの最初のファイルのみを横断します。すべてのファイルを横断するには、ループ条件を変更します。
結論は
PHPのZiparchiveクラスを通じて、圧縮パッケージ内のファイルのサイズ情報を簡単に取得できます。これは、開発者が圧縮パッケージのコンテンツを効果的に管理するのに役立つだけでなく、大きなファイルを含む圧縮パッケージを扱うときに特に重要です。これらのスキルを習得すると、開発プロセス中にファイル圧縮および減圧タスクをより効率的に処理できます。