PHPでのフォルダーごと圧縮する方法

PHPでのフォルダーごと圧縮する方法

PHPでのフォルダーごと圧縮する方法を解説します。

PHPでのフォルダーごと圧縮する方法


圧縮には zip を使うのがいいです。
Zipは、昔からある圧縮方法で ZipArchive を使えるサーバーが多いという理由もあります。
もし、ZipArchiveが使えないサーバーなら・・・サーバーを変えましょうwww

私なら変えますね。
ワードプレスは、動的にデータを表示するCMSです。

静的なデータを扱うサイトなら構いませんけど、ワードプレスを使うなら ZipArchive など標準的なモジュールが入っているサーバーを使うのが正解です。

0001 /********************************************************/
0002 function wp_migration_yuzu_source_zip($path, $zipfile,$parm='')
0003 /********************************************************/
0004 {
0005  $za = new ZipArchive();
0006  $za->open($zipfile, ZIPARCHIVE::CREATE);
0007  wp_migration_yuzu_source_zipSub($za, $path);
0008  $za->close();
0009 return('success');
0010 }
0011 /********************************************************/
0012 function wp_migration_yuzu_source_zipSub($za,$src,$parent= '')
0013 /********************************************************/
0014 {
0015  $dir = opendir($src);
0016  while(false !== ( $file = readdir($dir)) ) {
0017   if (( $file != '.' ) && ( $file != '..' )) {
0018    $local = $parent.$file;
0019    $full = $src . '/' . $file;
0020    if ( is_dir($full) ) {
0021     $za->addEmptyDir($local);
0022     wp_migration_yuzu_source_zipSub($za, $full, $local.'/');
0023    }
0024    else {
0025     $za->addFile($full, $local);
0026    }
0027   }
0028  }
0029  closedir($dir);
0030 }
スポンサードリンク