「レンタルサーバーにFTPでファイルを転送した後にZIPファイルを解凍したい」って思ったことありませんか?
私がぶち当たった壁は、レンタルサーバーに複数のWordPressをインストールするために、公開フォルダの中に複数のディレクトリを用意して、FTPを使ってデスクトップであらかじめ解凍しておいたWordPressのファイルをサーバーにアップロードした時でした。
アップロード中に「すでにファイルが存在します、上書きしますか?」って出たり、「アップロードに失敗しました」というような現象が発生して、インストール用のデータ転送すらうまくできない・・・
その時思ったのが、「ZIP圧縮したままのファイルをサーバーで解凍できれば、うまくいくんじゃないか?」でした。
そもそもそんなことができるのか?とも思いましたが、これから説明する方法でFTPでサーバーにアップしたあとでZIPファイルを解凍することに成功!無事WordPressを複数インストールするという目的も達成することができました。
STEP1:レンタルサーバーの契約内容を確認する
レンタルサーバーでPHPが利用できることが必須条件になりますので、使っているレンタルサーバーでPHPが使えることを確認しておきましょう。
STEP2:解凍実行プログラムを書いたPHPを用意する
PHPのファイル名は仮に「unzip.php」とします。
この名前は変えてもらって大丈夫ですが、サーバーアップ後、解凍するときにURLを打ち込みますので、簡単なものが良いでしょう。
PHPファイルには下記のコードを記述して、解凍したいZIPファイルの名前にPHPファイルの中の「ファイル名」を書き換えます。
<?php
$zip = new ZipArchive();
if ($zip->open('./ファイル名.zip') === true) {
if ($zip->extractTo('./') === true) {
$zip->close();
} else {
exit('ZIPファイルが見つかりません');
}
} else {
exit('解凍できませんでした');
}
echo '解凍成功しました!';
?>
STEP3:PHPファイルと解凍したいZIPファイルをサーバーにアップする
PHPファイルと解凍したいZIPファイルが用意できたら、サーバーの解答したいディレクトリにこの2つをアップロードします。
同じディレクトリに入れないとうまく行かないので注意しましょう。
STEP4:PHPファイルの実行
アップロードが完了したらいよいよ、解凍プログラムの実行です。
PHPファイルのURLをアドレスバーに入れたら、Enter!
こんな感じで「解凍に成功しました!」と出たら成功です。
後は、解凍前のZIPファイルとunzip.phpを削除したら完了です。
テスト環境と一応免責
今回私が実行した環境は「ConoHa WING」を使って、このプログラムを実行しました。
PHPが利用できるサーバーでは使える手法ではありますが、うまく行かないときや問題が起きた場合も責任はとれませんので、ご自身の責任において行ってください。
PHPをより深く理解したいあなたにはこの本がおすすめです。
初心者向けにすごく丁寧に書いてあるので、初心者でも簡単にログインから簡単なショッピングサービスなどの機能を作れるようになります。
しかも、ちゃんと理解して作れるからおすすめなんです。
コメント