2010-12-03 20 views
0

私はウェブページにURLを入力できるようにスクリプトを設定しています。スクリプトはwgetです。ただし、ほとんどのファイルは*.rar形式になります。とにかくコマンドにファイル名を渡して、wget経由でダウンロードしたファイルのアーカイブを解除できますか?wgetからPHPでファイルを取得

多くの方々に感謝します。

EDIT私は(/)スラッシュでURLを壊すためにPHPのexplode()機能を使用して考えたが、それは少しハック-yのようです。

答えて

1

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

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

@バイロンの答えは役に立ちますが、ここで使用する必要はありません。しかし、編集の言及としてexplode()を使用するよりも優れています。

+0

出力をパイプしてunrarにすることができることを思い出させるためのチェックマークが表示されます。 ;) – esqew

2

外部プログラムをダウンロードして抽出するのではなく、PHP独自のcURLRAR拡張子を使用することを検討する必要があります。 tmpfile()関数を使用して一時ファイルを作成し、これをCURLOPT_FILEオプションの値として使用して、そこにダウンロードしたファイルをcURLで保存し、そのファイルをRAR関数で開いて内容を抽出することができます。

0

wget -O filename URL && unrar filename

2

ファイル名を取得するにはbasename()を使用してください。

関連する問題