MENU
WordPressあれこれ

大量ファイルFTP転送、タイムアウトでイラッとしてませんか?

PHPでzip圧縮

レンタルサーバーから、データをバックアップしたい時、逆にアップロードしたい時、大規模なサイトやワードプレスを使っている場合などではファイル数がとんでもない量になったりします。

これから説明する方法を使うと、普段使っているレンタルサーバーで手間を省けてストレスフリーになれます!

ぜひ最後までご覧ください。

利用可能なレンタルサーバー

基本的にはどのレンタルサーバーでもOKですが、PHPが利用可能な事が必須条件になります。

HTMLサーバーではこの方法は使用出来ないのであらかじめご了承下さい。

アップロードやダウンロードの手間を省く

FTPソフトなどで大量のファイルのアップロードやダウンロードしたい場合、ファイルやディレクトリを一度圧縮したzipファイルで行うことをおすすめします。

PHPファイルを作成

圧縮するコード

まずはテキストファイルに以下の内容をそのままコピペします。

<?php
 system('tar -zcf 圧縮後のファイル名.zip 圧縮対象ファイル名/ディレクトリ名');
 system('tar -tf 圧縮後のファイル名.zip');
?>

解説

1行目ではPHPプログラムが開始されることを意味しています。

2行目では、systemの引数にtarコマンドを指定することで、サーバーが圧縮処理を実行します。ここでは「圧縮対象ファイル名/ディレクトリ名」を、1つのアーカイブファイルに圧縮しろというコマンドを記述しています。

tarコマンドのオプション

z:gzipの圧縮処理を行う
c:新規にアーカイブを作成する
f:アーカイブファイルを指定する

3行目では、zipファイルの中身を出力しています。(中身を確認しなくても良い場合は削除してOKです)

tarコマンドのオプション

t:アーカイブファイルの一覧を表示する
f:アーカイブファイルを指定する

使い方

たとえば、ドキュメントルートにzip.phpをアップロードして、アップロードが済んだらブラウザからzip.phpを実行します。

ブラウザでzip.phpへのパスを正しく指定できれば、ドキュメントルート以外にアップロードしても大丈夫です。

アドレスバーにzip.phpへのパスを指定アドレスバーにzip.phpへパスを指定

解凍するコード

まずはテキストファイルに以下の内容をそのままコピペします。

<?php
    $zip = new ZipArchive;

    //解凍ファイル名を指定
  if ($zip->open('解凍したいファイル名.zip') === TRUE) {

        //解凍先を指定
        $zip->extractTo('./');
        $zip->close();

        echo '成功';

    } else {

        echo '失敗';
    
    }
?>

解説

1行目ではPHPプログラムが開始されることを意味しています。

2行目の$zip = new ZipArchive;では、new演算子を利用してZipArchiveクラスを利用するための準備をして、変数$zipに格納しています。

5行目の if ($zip->open(‘解凍したいファイル名.zip’) === TRUE) {では、解凍したいファイル名.zipというファイルを開くことができる場合に8行目以降の処理をするという条件の指定しています。

8行目の$zip->extractTo(‘./’);では、extractTo( )の括弧の中に解凍する場所を指定することで、zipファイルの解凍が可能です。ここでは、解凍したいファイル名.zipと同じ階層を指定しております。

9行目の$zip->close();では、zipファイルを閉じて、解凍処理を終了しています。

解凍が成功した場合、11行目の成功が表示され、失敗した場合は15行目の失敗が表示されます。

ZipArchiveクラスのextractTo関数とは

ZipArchiveクラスのextractTo関数は、PHP5.2.0以降のPHP5系、 PHP7系で利用が可能です。(ZipArchiveクラスのextractTo関数について)

また、利用には、PHPの拡張モジュールである、PECLの1.1.0以降が必要です。

使い方

展開するzipファイルと同じ場所にunzip.phpをアップロードして、アップロードが済んだらブラウザからunzip.phpを実行します。

アドレスバーにunzip.phpへのパスを指定

まとめ

この方法はFTPを利用した通常のアップロードと比べてかなり快適になると思いますのでお役に立てば幸いです。

ご理解くださいm(_ _)m

PHPが利用可能なサーバーでしか使えないのが難点です。

WordPressが使えるレンタルサーバーでは標準でPHPが使えるようになっているはずですが、万一、動かない場合はゴメンナサイ(^◇^;)

WordPressの保守運用ならWEB先案内!

WordPressでのお困りの不具合等を復旧致します!

ココナラでも提供しております。ココナラだけでも、多数のご依頼を頂いています。またココナラではうれしい五つ星評価(最高評価)も頂いております。

WordPressの作業代行

お見積もりも、もちろん無料です。

日祝・時間を問わず対応しております。お気軽にご相談ください。

こんな不具合を解消しています。

下記のようなエラー復旧のご依頼を頂いています。

    • 『WordPressにログインできない』
    • 『ユーザー名、パスワードがわからなくなった』
    • 『ワードプレスを更新したらおかしくなった』
    • 『XXXX年間ビジターアンケートが表示された』
    • 『ログインしようとしたら画面が真っ白(表示されなくなった)』
    • 『サイトによくわからない文字が表示されている』
    • 『400、500などのエラー表示が出ている』
    • 『ウィジェットやバーが表示されない』
    • 『ページが真っ白、エラーページが表示される』
    • 『プラグインが動かない』
    • 『403エラーが出て、サイトが見れなくなった』
    • 『ホームページが改ざんされてしまった』
    • 『不正なアクセスの検知をした旨のメールが届いた…』
    • 『Fatal error: Uncaught Error:
      Call to undefined function wp_unregister_GLOBALS() 』に関するエラー
    • 『作業はやるので代わりに調べて欲しい』
    • 『調べた内容は本当にできる?』
    • 『詳しい人のアドバイスが欲しいだけ』
    • 『WordPressを始めてみたけどこの後どうすればいいの?』
    • 『インストールしたテーマの使い方がわからない…』
    • 『外観>カスタマイズ』で設定できる内容
    • 『ERR_TOO_MANY_REDIRECTS』に関するエラー
    • 『WordPressのバージョンを上げたらおかしくなった』
    • 『テーマを更新したらデザインが崩れてしまった』
    • 『サーバーを移行したら表示がおかしくなった』
    • 『phpのバージョンを上げたらおかしくなった』
    • 『画像をメディアにアップロードできない』
    • 『サイト内の画像がすべて表示されなくなった』
    • 『ドメインを変更したら表示がおかしくなった』
    • 『サーバー移管SSL化(https)』
    • 『他のブログからの引っ越し(アメーバブログ・他のWordPress等)』
    • 『用途に応じたサーバー選び』

    その他『とにかく助けて欲しい!』など、お気軽にお問い合わせ下さい

    どのようなエラーでも復旧可能?

    下記3点のケースを除けば基本的に復旧は可能です。 復旧出来ない可能性のあるケース

    • 元データ自体が無くなってしまっている
    • サイトを改ざんされてり内部ファイルを書き換えられたり削除されている
    • データを誤って削除してしまい、バックアップが無い場合

     

    バックアップをお持ちではなくともサーバー側で自動的にバックアップを取っている場合があり、復旧出来ることもあります。諦めずまずはお問い合わせ下さい。

    お問い合わせ

    「お見積もり無料です!」

    費用は作業完了後にご納得の上でのお支払です。

    作業の流れ(お見積もり)

    • ご連絡頂く
    • 詳細をお聞きする
    • ログイン情報を頂く
    • サーバー・サイトにログインして状況を確認
    • お見積もり金額の提示
    • 依頼頂くかキャンセルされるかご判断下さい。(ここでキャンセルも可)
    • ご依頼確定となれば作業開始
    • 作業完了
    • サイトの確認をして頂く(問題ないようでしたらお支払いに進む)
    • お支払いのご案内(メールにてご請求の案内)
    • ご依頼・作業終了となります。

    WordPress保守管理します!

    WordPress保守管理(月額)サービスも行っております。

    WEB先案内