WordPress サーバーのファイルダウンロード容量上限を回避する方法 PHP

WordPress サーバーのファイルダウンロード容量上限を回避する方法 PHP

サーバー移転の為にWordPressの中身を全て梱包させて1つのファイルにまとめるプラグインなどがあります。(All-in-One WP Migrationなど)

そのプラグインを使えば簡単に移行できるのですが、まとめられたファイルをダウンロードするときにサーバーのダウンロード容量制限に引っかかり、ファイルをダウンロードできない場合があります。

FPTでダウンロードするのが簡単で早いと思いますが、FTPでもダウンロードできない場合を想定して解決方法を解説します。

 

PHPを使い、ファイルを分割して小分けされたファイルをダウンロードする方法です。

sbstrを使います。

$file = file_get_contents('ファイルディレクトリ'); //ファイルを取得
$bytes = strlen($file); // ファイルサイズ数を取得(byte)

// 分割するサイズ(byte)
$cut_size = 80 * 1024; // この場合80kbで分割
$cnt = 1;
$start = 0;

while(true) { // ファイルを分割して保存する
    $cut_file = substr($file, $start, $cut_size);
    if (empty($cut_file)) {
        break;
    }

    $num = "";
    if ($cnt < 10) {
		$num = "00" + $cnt;
	} else if ($cnt >= 10 && $cnt < 100) {
		$num = "0" + $cnt;
	} else {
		$num = $cnt;
	}

    file_put_contents("split.{$num}", $cut_file);
    $cnt++;
    $start += $cut_size;    
}

できたファイルは拡張子が001から002,003と増えていっていると思います。

分割されたファイルの結合はHjSplitを使いましょう。Windowsコマンドでも行えます。

HjSplit

http://www.hjsplit.org/windows/

解答起動したらJoinを選び拡張子が.001の始まりのファイルを選択しましょう。残りの分割ファイルが同じディレクトリにあれば勝手に結合してくれます。

 コメント来た?
    ∩∩
   (´・ω・)
   _| ⊃/(___
 / └-(____/
  ̄ ̄ ̄ ̄ ̄ ̄ ̄
 来たら起こして。

   ⊂⌒/ヽ-、__
 /⊂_/____ /
  ̄ ̄ ̄ ̄ ̄ ̄ ̄

コメントを残す

メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。URLを含むコメントは承認待ちになります。