もう困らない!!大量のファイルをダウンロードする方法
EC-CUBEなど、大量にファイルやフォルダがあるデータをサーバーからFTPクライアントソフトを使用してダウンロードする際に、途中で止まってしまった経験があるのは私だけでしょうか?
ちなみに、この時使用したソフトはFFFTPです。
(WinSCPやFilezilla、SmartFTP等の他のFTPクライアントソフトを使えばダウンロードできたかもしれません…)
FFFTPでは設定を変更すると、若干速度は落ちるものの止まることなくダウンロードが可能ですが、これを一つのzipファイルにしてしまえば、とても簡単にダウンロードできます。
■zipファイルにする方法
<?php // ここの値がzipファイル・フォルダの名前になります // 実行が終わったらfilename.zipができます $name = "filename"; // zipにする対象ファイル・フォルダの名前 $target = "images"; $command = "zip -r ".$name.".zip " . $target ; // 実行します exec($command); print<<<EOD 実行ファイルへのフルパス: EOD; echo __FILE__ ; echo" "; echo"$command"; print<<<EOD 完了 EOD; ?>
cdコマンド(ディレクトリ移動)を使用したほうが良いのですが、上手く動作しなかったのでこんな感じになりました。
PHPを保存して、ダウンロードしたいフォルダと同じ階層に置いて実行するだけです。
WordPress等のファイルやフォルダが多い場合は、一つ上の階層に置きましょう。
例)http://○○.jp/first/second/index.html のsecondフォルダをzipに圧縮したい場合
FTPサーバの /home/〇〇/www/first/ ←ここに置きます
Poderosaというターミナルエミュレータを使用する方がベターですので、こちらも軽く使い方をご紹介します。
[1]ファイル>新規Telnet/SSH接続
[2]ホスト・アカウント・パスフレーズを入力します。
(わからない場合は、サーバ管理者にお問合せください。)
接続ができたら、コマンドを入力します。
****コマンド一覧******************
cd : ディレクトリ移動
ls : ファイルやディレクトリの情報を一覧表示します。
pwd : カレント・ディレクトリを絶対パスで表示します。今いるディレクトリが分かります。
zip : ファイルを圧縮します。
unzip : ファイルを解凍します。
********************************
基本的に使うコマンドは、このくらいです。
cd /home/〇〇/www/first
zip [zipの名前].zip [対象ファイルの名前]
こんな感じで、サクッとできます!!
逆に大量のファイルをアップロードする時は、zipでサーバにアップロードしてから、そのファイルを解凍するコマンドを入力すれば簡単にアップロード完了です。
おわりに…
この方法を使えば、大量の画像をアップロードする時も短時間でパパっとできてとても便利ですね。
みなさんもぜひ試してみて下さい!
RSSリーダーで購読する