WordPressやEC-CUBE等をWEBサーバーにインストールする時、大量のファイルをアップロードする必要があります。大量ファイルのアップロードには時間が掛かったり、稀に数ファイルだけアップロードに失敗することがあります。そんな時は大量ファイルをローカルでzipファイルに圧縮して、そのzipファイルをWEBサーバーにアップロードし、WEBサーバー上で解凍(unzip)・展開すると短時間で確実にWEBサーバーにアップロードできるのでその方法をご紹介します。
Contents
ディスプレイ広告
同じファイル・ディレクトリ名がアップロード先のWEBサーバーに無いか確認
まず、事前に同じ名前のzipファイル名、ディレクトリ名、PHPスクリプトファイル名が、zipファイルを展開するWEBサーバー上に無いことを確認して下さい。
圧縮したzipファイルと解凍(unzip)用phpスクリプトファイルをアップロード
アップロードするディレクトリをzipファイルに圧縮し、圧縮じたzipファイルを展開するWEBサーバーにアップロードします。
解凍用PHPスクリプトファイル:unzip.php
以下の解凍用PHPスクリプトファイル(unzip.php)をWEBサーバーにアップロードします。
unzip.phpファイルの内容
<?php /* zipファイルをWEBサーバー上で展開するPHPスクリプトです。 まず、事前に同じ名前のzipファイル名、ディレクトリ名、PHPスクリプトファイル名が、zipファイルを展開するWEBサーバー上に無いことを確認して下さい。 zipファイルとこのPHPファイルをWEBサーバーの同じディレクトリにアップし、ブラウザで https://WEBサーバーURL/unzip.php にアクセスするとアップしたzipファイルが展開されます。 */ $zipfilename = 'assyuku.zip'; // ← 解凍するzipファイ名(assyuku.zip)に変更して下さい $zipfilepass = getcwd().'/'.$zipfilename; if(!is_file($zipfilepass)){ exit("zipファイルが「".$zipfilepass."」にありません。"); } function unzip($zipfilepass){ return shell_exec("unzip $zipfilepass"); } if($zip = unzip($zipfilepass)){ echo '<html lang="ja"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>zipファイルが解凍されました。</title></head><body>'; echo "zipファイルが解凍されました。<br />\n"; echo "解凍ファイル:$zipfilename<br />\n"; echo '<div style="overflow:auto; height:450px; border: #ccc 1px solid; margin:20px;">'; echo "$zip</div>\n"; echo "$zipfilename: は正常に解凍されました。<br />\n"; echo '</body></html>'; }else{ echo("抽出に失敗しました: $zipfilepass\n"); } ?>
※「assyuku.zip」は圧縮したzipファイル名が入りますので、任意の圧縮したファイル名に変更して下さい。
解凍用PHPスクリプトファイル(unzip.php)GitHubからダウンロード
※リンク先の「Code」をクリックし「Download ZIP」より一式ダウンロードできます。
WEBサーバーの解凍用PHPスクリプトファイル(unzip.php)にアクセス
ブラウザで
https://WEBサーバーURL/unzip.php
にアクセスするとアップロードしたzipファイルが展開されます。
※流用される場合は自己責任でお願いします。