圧縮およびアーカイブzip関数
- zip_close〔ZIPファイルアーカイブを閉じる〕
- zip_entry_close〔ディレクトリエントリを閉じる〕
- zip_entry_compressedsize〔ディレクトリエントリの圧縮時のサイズを取得する〕
- zip_entry_compressionmethod〔ディレクトリエントリの圧縮方法を取得する〕
- zip_entry_filesize〔ディレクトリエントリの実際のファイルサイズを取得する〕
- zip_entry_name〔ディレクトリエントリの名前を取得する〕
- zip_entry_open〔読込み用にディレクトリエントリをオープンする〕
- zip_entry_read〔オープンされたディレクトリエントリから読み込む〕
- zip_open〔ZIPファイルアーカイブをオープンする〕
- zip_read〔ZIPファイルアーカイブの中の次のエントリを読み込む〕
zip_close
ZIPファイルアーカイブを閉じる
unknown
ZIPアーカイブファイルを閉じます。返り値はありません。
第1引数zip_entryには、事前にzip_open()で開かれたZIPファイルを指定します。
zip_entry_close
ディレクトリエントリを閉じる
unknown
指定したディレクトリエントリを閉じます。
成功した場合にTRUE、失敗した場合にFALSEを返します。
第1引数zipには、事前にzip_entry_open()で開かれたディレクトリエントリを指定します。
zip_entry_compressedsize
ディレクトリエントリの圧縮時のサイズを取得する
unknown
ディレクトリエントリの圧縮後のサイズを返します。
第1引数zip_entryには、事前にzip_read()により返されたディレクトリエントリを指定します。
zip_entry_compressionmethod
ディレクトリエントリの圧縮方法を取得する
unknown
zip_entryで指定したディレクトリエントリの圧縮方法を返します。
第1引数zip_entryには、事前にzip_read()により返されたディレクトリエントリを指定します。
zip_entry_filesize
ディレクトリエントリの実際のファイルサイズを取得する
unknown
ディレクトリエントリの実際のファイルサイズを返します。
第1引数zip_entryには、事前にzip_read()により返されたディレクトリエントリを指定します。
<?
# ディレクトリエントリの実際のファイルサイズを取得する
// ZIPファイルアーカイブを開く
$zip=zip_open("test.zip");
if($zip){
// 開いたディレクトリエントリから読み込む
while($zip_entry=zip_read($zip)){
// ディレクトリエントリの名前を取得
echo zip_entry_name($zip_entry).": ".zip_entry_filesize($zip_entry)." byte<br>";
}
// ZIPファイルアーカイブを閉じる
zip_close($zip);
}
/*
zip/currentname.txt: 45 byte
zip/dir/entry2d.txt: 8 byte
zip/dir/test.txt: 45 byte
zip/entry1.txt: 8 byte
zip/entry2.txt: 8 byte
zip/newDirectory/: 0 byte
zip/test.txt: 45 byte
zip/zip.php: 1049 byte
newDirectory/: 0 byte
*/
?>
zip_entry_name
ディレクトリエントリの名前を取得する
unknown
指定したディレクトリエントリの名前を返します。
第1引数zip_entryには、事前にzip_read()により返されたディレクトリエントリを指定します。
<?
# ディレクトリエントリの名前を取得する
// ZIPファイルアーカイブを開く
$zip=zip_open("test.zip");
if($zip){
// 開いたディレクトリエントリから読み込む
while($zip_entry=zip_read($zip)){
// ディレクトリエントリの名前を取得
$file=basename(zip_entry_name($zip_entry));
$fp =fopen($zip_dir.basename($file), "w+");
if(zip_entry_open($zip, $zip_entry, "r")){
// 開いたディレクトリエントリから読み込む
$buf=zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
// ディレクトリエントリを閉じる
zip_entry_close($zip_entry);
}
fwrite($fp, $buf);
echo $buf;
fclose($fp);
echo "The file ".$file."<br>";
}
// ZIPファイルアーカイブを閉じる
zip_close($zip);
}
/*
The file currentname.txt
The file entry2d.txt
The file test.txt
The file entry1.txt
The file entry2.txt
The file newDirectory
The file test.txt
The file zip.php
The file newDirectory
*/
?>
zip_entry_open
読込み用にディレクトリエントリをオープンする
unknown
ディレクトリエントリをZIPファイルの中に読込専用で開きます。
成功した場合にTRUE、失敗した場合にFALSEを返します。
第1引数zipには、zip_open()により返された有効なリソースハンドルを指定します。
第2引数zip_entryには、zip_read()により返されたディレクトリエントリを指定します。
オプションの第3引数モードには、fopen()で指定されたモードのいずれかを指定します。
- PHPのzipサポートが読み込みのみのアクセスであるため、このモードは無視され、常に「rb」となります。
- fopen()や他の同じような関数と異なり、この関数の戻り値は、処理結果のみを示すため、ディレクトリエントリの読み込みや閉じる際には不要です。
zip_entry_read
オープンされたディレクトリエントリから読み込む
unknown
開かれたディレクトリエントリを指定したバイト数まで読み込み、読み込んだデータを返します。 ファイルの終端に達した時はFALSEを返します。
第1引数zip_entryには、zip_read()により返されたディレクトリエントリを指定します。
第2引数lengthには、返すバイト数を指定します。 省略した場合は、デフォルトの1024バイトが適用されます。 これは、読み込むデータの非圧縮時の長さとなります。
zip_open
ZIPファイルアーカイブをオープンする
unknown
ファイル名に指定した新しいZIPファイルアーカイブを読込専用で開き、zip_read()およびzip_close()で使用されるリソースハンドルを返します。 ファイル名が存在しない場合やその他のエラーが発生した場合は、エラー番号を返します。
<?
// ZIPアーカイブを開く
$zip=zip_open("test.zip");
if (is_resource($zip)) {
// ZIPファイルアーカイブの中の次のエントリを読み込む
while($zip_entry=zip_read($zip)){
// ディレクトリエントリの名前を取得
echo zip_entry_name($zip_entry)."\n";
}
}else{
echo "失敗";
}
/*
zip/currentname.txt
zip/dir/entry2d.txt
zip/dir/test.txt
zip/entry1.txt
zip/entry2.txt
zip/newDirectory/
zip/test.txt
zip/zip.php
newDirectory/
*/
?>
zip_read
ZIPファイルアーカイブの中の次のエントリを読み込む
unknown
ZIPファイルアーカイブの中の次のエントリを読み込み、zip_entry_*()関数で使用されるディレクトリリソースハンドルを返します。 読み込むエントリがない場合にFALSE、その他のエラーが発生した場合はエラー番号を返します。
第1引数zipには、zip_open()により返された有効なリソースハンドルを指定します。
<?
// ZIPアーカイブを開く
$zip=zip_open("test.zip");
if (is_resource($zip)) {
// ZIPファイルアーカイブの中の次のエントリを読み込む
while($zip_entry=zip_read($zip)){
// ディレクトリエントリの名前を取得
echo zip_entry_name($zip_entry)."\n";
}
}else{
echo "失敗";
}
/*
zip/currentname.txt
zip/dir/entry2d.txt
zip/dir/test.txt
zip/entry1.txt
zip/entry2.txt
zip/newDirectory/
zip/test.txt
zip/zip.php
newDirectory/
*/
?>