FTPでファイルをアップするのに数が多いと時間かかる問題の解決方法

FTPソフトでファイル一つ一つアップロードすると時間がかかってめんどくせー。

そんな時はzipに圧縮してサーバーにそのzipファイルをアップロードしてサーバーでzipを解凍する方法が早かったので、参考にしていただければ。

wordpressのサーバー移動でファイルが多い時、便利でした!

zipファイルを作ってサーバーで解凍する時の流れ

1.パソコンにzipファイルを用意

2. zip.phpというzipファイル解凍用のPHPファイルを用意

下記のコードは同じフォルダ内にzipファイルがあったときに解凍する処理のphpになります。
おそらくPHPが動くサーバーであれば問題なく動くはず。

<?php
//zip解凍
$trgDir = './';
$zip = new ZipArchive();
if (is_dir($trgDir)) { if ($dh = opendir($trgDir)) { while (($file = readdir($dh)) !== false) {	// zip file only	if(preg_match('/\.(zip)$/i', $file)){ echo "filename: $file : filetype: " . filetype($dir . $file) . "<br>";	if ($zip->open($file) === true) {	if ($zip->extractTo('./') === true) {	$zip->close();	} else {	// exit('Extract Error');	}	} else {	// exit('Open Error');	}	} } closedir($dh); }
}
echo 'Unzip Complete';
exit();
?>

3. サーバーにzipというフォルダを作成

作業用フォルダとして使用します。フォルダ名はtmpでもなんでも良いかと。

4. 圧縮したzipファイルとzip.phpをサーバーに作った作業用フォルダにFTPでアップロード

5. ブラウザでzip.phpを開く

hogehoge.com/zip/zip.php
というURLにアクセスしてzip.phpを実行したらzipフォルダの中のzipファイルが解凍されます。
問題なく、実行できたらUnzip Completeと表示されます。

6. FTPソフトでサーバーで解凍されたファイルをフォルダ移動

7. 作業が一通り終わったら作業用で作ったフォルダを削除

セキュリティ的に何かあると心配なので。

まとめ

FTPソフトでファイル一つ一つアップロードする方法だと、席を外したときパソコンがスリープして、FTPソフトが途中で止まってたって時や、ファイルのアップ漏れがないか心配があるんですよね。。

サーバー上でファイルの複製も考えたんですが、その複製も恐ろしく時間がかかりました。。
(Dreamweaverでファイル複製ができたんで試してみました)

他にいい方法があるかもしれないですが、手っ取り早くていい方法かなと。