0

WebページへのURLを入力すると、スクリプトがwgetファイルを作成できるようにスクリプトを設定しています。ただし、ほとんどのファイルはこの*.rar形式になります。とにかく、をunrar介してダウンロードされたファイルを解凍するコマンドにファイル名を渡すことができますwgetか?

よろしくお願いします!

編集PHPのexplode()関数を使用してURLをスラッシュ(/)で分割することを考えましたが、それは少しハックのようです。

4

4 に答える 4

2

ファイルをダウンロードして抽出するために外部プログラムにフォークするのではなく、PHP独自のcURLおよびRAR拡張機能の使用を検討する必要があります。tmpfile()関数を使用して一時ファイルを作成し、それをCURLOPT_FILEオプションの値として使用して、ダウンロードしたファイルをcURLに保存させ、RAR関数でそのファイルを開いてコンテンツを抽出できます。

于 2010-12-03T00:43:43.357 に答える
2

basename()ファイル名を取得するために使用します。

于 2010-12-03T00:57:48.407 に答える
1

@Wyzardが最良の答えを出します。問題を解決するライブラリがある場合は、外部プロセスをフォークする代わりにそれを使用してください。それはより安全であり、それはクリーンな解決策です。PHPのcURLRARは優れているので、それらを使用してください。

wgetただし、 andを使用する必要がある場合はunrar、@rikが適切な答えを示します。wget-O filenameオプションはファイルをとして保存するfilenameので、それを解決する必要はありません。ただし、を使用wgetして、の出力を直接パイプで送信したいと思います。unrarwget -q -O - http://www.example.com | unrar

@Byronの回答は役に立ちますが、ここで使用する必要はありません。explode()ただし、編集で言及されているように使用するよりも優れています。

于 2011-01-02T09:13:45.243 に答える
0

wget -O filename URL && unrar filename

于 2010-12-03T00:49:47.233 に答える