かなり深刻な問題のために、多くの状況で非常に単純な解決。 ファイル数が数千に達するウェブサイトを移動しなければならないシナリオでは、ウェブホスティングプロバイダは私たちに バックアップシステム アーカイブまたは他の同様の方法で、私たちはこれを許可します FTP転送 それは、我々は非常に長い時間がかかるだろうソリューションです。
ウェブサイトをホストするサーバーにアップロードされたPHPスクリプトは、私たちがそれを行うのに役立ちます フォルダ内のすべてのファイルのtar形式のアーカイブ.
PHPスクリプトを使用して、Webサーバー上のファイルとフォルダーをアーカイブするにはどうすればよいですか?
以下のスクリプトをコピーして、サーバー上の.phpファイルに配置します。 例:以下のスクリプトを含むarhiva.php:
[Php]試して{
//スクリプトに十分な時間があることを確認する(300秒= 5分)
ini_set( 'max_execution_time'、 '300');
ini_set( 'set_time_limit'、 '0');
$target = isset($ _ GET ["target名前 "])?$ _GET ["targetname "]: 'archive.tar'; //default archive.tarへ
$ dir = isset($ _ GET ["dir"])? $ _GET ["dir"]: './。'; //defaultsを現在のディレクトリのすべてに
// setup phar
$ phar =新しいPharData($target);
$ Phar-> buildFromDirectory(dirname(__FILE__)。 '/'.$dir);
echo 'すべてを圧縮 file完了したら、サーバーをチェックして file '。$target;
} catch(Exception $ e){
//エラーを処理する
echo 'エラーが発生しました。詳細:';
echo $ e-> getMessage();
}
?> [/ PHP]
警告! スクリプトは、フォルダとそれに含まれるファイルをアーカイブするフォルダにアップロードする必要があります。 たとえば、wp-contentフォルダ(WordPress)のすべてのコンテンツをアーカイブする場合は、us arhiva.phpという名前のファイルが/ wp-content /にアップロードされます。
アーカイブは、ブラウザでファイルarhiva.phpにアクセスすることによって作成されます。 url:http:.. web_name.tld / wp-content / archive.phpであり、サーバーでの操作の最後に、archive.tarファイルが表示されます。
大量のファイルがある場合は、実行時間の「タイムアウト」値を変更します。 これは、php.iniまたは.htaccessから実行できます。