レンタルサーバー上でZipファイルを解凍する

|

10月17日に、シックス・アパートより、最新版のMovable Typeが出た事もあり、アップグレードしようと思うのですが、一寸気になる事があります。

Movable TypeのCMSなどをインストールする際、数千にも及ぶファイルをレンタルサーバーにアップロードする必要がありますが、大量のファイルをFTPを使ってアップロードする作業は、とても時間が掛かります。

然も、アップロード中にFTPクライアントが落ちてしまい、どこまでアップロード出来たか分からない為、最初からやり直すなどの失敗もあります。

圧縮ファイルのみをアップロードして、レンタルサーバー上で解凍する事が出来れば、素早く大量のファイルを展開することが可能です。

レンタルサーバー上でZipファイルを解凍するには、

1.SSHやtelnetを利用する
2.サーバーツールのファイルマネージャを利用する
3.解凍スクリプトを利用する

などの方法があります。但し、

・SSHやtelnetは、クライアントソフトを利用しますが、サーバーの設定やコマンド操作などが難しい。
・ファイルマネージャは、通常のブラウザーが利用可能ですが、扱えるファイル容量などに制限がある。
・解凍スクリプトは、通常のブラウザーが利用可能ですが、自分でプログラムを書くかネット上で検索する必要がある。

など、それぞれ難点を抱えています。

ソフトサイトからダウンロードした圧縮ファイルをパソコン上で解凍し、大量のファイルをレンタルサーバーにアップロードするという時間が掛かるやり方を、簡単に・素早く・確実に実行するには、解凍スクリプトを見つけて利用するのが一番の近道かと。

SSHやファイルマネジャを扱う為に、新たに覚えなければならないソフトの設定やコマンド操作、操作手順などの煩わしさが無い分、親しみやすいのではないかと思われます。


インターネット上で検索を掛けると、次の2つが見つかりました。

<?php
 $zip_file = 'MTOS-5.2.8.zip';            // 展開するzipファイルを指定

 $zip = new ZipArchive;
 if($zip->open("$zip_file") === TRUE) {
    $zip->extractTo('./');
    $zip->close();
    echo '成功';
 } else {
    echo '失敗';
 }
 ?>


<?php
 $zip_file = 'MTOS-5.2.8.zip';          // 展開するzipファイルを指定

 function unzip($zip_file) {
   return shell_exec("unzip $zip_file");
 }

 if($zip = unzip($zip_file)) {
   echo "解凍成功:$zip_file";
 } else {
   echo "解凍失敗:$zip_file";
 }
 ?>