PHP
downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ZipArchive::getArchiveComment> <ZipArchive::deleteName
Last updated: Fri, 30 Jan 2009

view this page in

ZipArchive::extractTo

(No version information available, might be only in CVS)

ZipArchive::extractToアーカイブの内容を展開する

説明

bool ZipArchive::extractTo ( string $destination [, mixed $entries ] )

アーカイブの全体あるいは指定したファイルを、 指定した場所に展開します。

パラメータ

destination

ファイルを展開する場所。

entries

展開するエントリ。単一のエントリ名、 あるいはエントリ名の配列を指定します。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

この例は、ZIP ファイルアーカイブをオープンして内部の各ファイルを読み込み、 その内容を表示します。この例で使用するアーカイブ test2.zip は、ZZIPlib のソース配布物に含まれているテスト用アーカイブのひとつです。

例1 全エントリの展開

<?php
$zip 
= new ZipArchive;
if (
$zip->open('test.zip') === TRUE) {
    
$zip->extractTo('/my/destination/dir/');
    
$zip->close();
    echo 
'成功';
} else {
    echo 
'失敗';
}
?>

例2 二つのエントリのみの展開

<?php
$zip 
= new ZipArchive;
$res $zip->open('test_im.zip');
if (
$res === TRUE) {
    
$zip->extractTo('/my/destination/dir/', array('pear_item.gif''testfromfile.php'));
    
$zip->close();
    echo 
'ok';
} else {
    echo 
'failed';
}
?>


ZipArchive::getArchiveComment> <ZipArchive::deleteName
Last updated: Fri, 30 Jan 2009
 
add a note add a note User Contributed Notes
ZipArchive::extractTo
Kaya
03-Oct-2008 11:36
Make attention when using this function with apache & windows system. Windows file system use \  (backslash) instead of unix / (slash)
Use str_replace like this.
<?php
$zip
= new ZipArchive;
    if (
$zip->open("file.zip")){
       
$path = getcwd() . "/dirToextract/";
       
$path = str_replace("\\","/",$path);
        echo
$path;
        echo
$zip->extractTo($path);
       
$zip->close();
        echo
'Done.';
    } else {
        echo
"Error";
    }
?>
tBone
03-Jun-2008 03:03
This function, at least from my experience, maintains/forces the directory structure within the ZIP file.

ie. if you have FOLDER1/File1.txt in the zip file and you use
$zip->extractTo('/extract', 'FOLDER1/File1.txt');
the location of the extracted file will be:
/extract/FOLDER1/File1.txt
DerkaDerka
06-Mar-2007 08:48
This function will overwrite destination files with the same name.

ZipArchive::getArchiveComment> <ZipArchive::deleteName
Last updated: Fri, 30 Jan 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites