
Linux, FreeBSD, 酒,…
大量のファイルをアップロードする際、
zipしてサーバ上で展開できればどんなに楽か。
さくらサーバのように、シェルが使えるサーバなら何も問題ないが、
多くの格安サーバではシェルは開放されていない。
でも、単にunzipを走らせればいいだけなので、
何とかやりようはありそうなもの。
と思って探すとやっぱあった。
サーバ上でZIP展開
http://www.cubic4.net/blog/34-site/68-server-unzip.html
手法としては、PHPでunzipを起動するというもの。
ここからunzip.zipをダウンロードして、展開すると、
unzip.phpというスクリプトが出てくる。
この中で、先頭の方にある、
< ?php // インストールに先立ってZIPファイルをサーバー上で展開するスクリプト。 // ZIPファイルとこのファイルを同じディレクトリにアップ。 // アップ先ディレクトリにそのまま展開されます。 // 展開される際にこのファイルと同じ名前のファイルが有る場合は予めこのファイル名を変えておく。 $zipfilename = 'filename.zip'; // 展開するzipファイルを指定。
$zipfilename = 'wordpress-3.0-ja.zip'; // 展開するzipファイルを指定。
http://www.example.com/unzip.php
function unzip($zip_file){ return shell_exec("unzip $zip_file"); }
function unzip($zip_file){ return shell_exec("/usr/bin/unzip $zip_file"); }
初めまして
unzipのパスはphpのバージョンの違いでしょうか?
うちもエックスサーバですがphp5ではあれで動いてます。
2010/07/16 (金) 09:35:55 | cubic4
わざわざコメントありがとうございます。
こちらもPHP 5です。
どうしても動いてくれなくて悩んだ挙句、
パスが通っていないんじゃないかと
unzipをフルパスで試したら動いたという次第です。
同じエックスサーバーでも
個々のサーバごとに微妙に設定が違うのかもしれません。
はっきりしたことは言えませんが。
2010/07/16 (金) 12:40:03 | k1
使用方法記載有難うございます。
スクリプトを公開している元サイトでは、unzipファイルをそのまま上げるような事しか書いておらず、使用方法がわからず困っておりました。
解凍した、phpファイルを使用するんですね。 たしかにzipファイルだと接続してもDLするか、開くかしか選べませんもんね。
無事unzip出来ました。
助かりました、有難うございます。
2010/11/2 (火) 16:33:59 | 助かりました
役に立ったようでよかったです。
サーバー上で展開するとものすごく楽です。
もう、いちいちアップロードなんてやってられなくなります。
2010/11/3 (水) 00:58:25 | k1
困っていたので、大変助かりました。
記事にさせて頂いたのでお礼を兼ねてご報告です。
宜しくお願いします。
2012/01/15 (日) 21:14:58 | 喜田真太朗
役に立ったとのこと、嬉しく思います。
2012/01/15 (日) 22:22:24 | k1
[...] サーバー上でのzipファイル解凍方法はこちら [...]
2012/01/15 (日) 21:14:20 | サーバー上でzipを解凍する方法