2009-05-28 8 views
1

私が取り組んでいる特定のPHPスクリプトについては、HTMLをプレーンテキストに変換して出力をキャプチャするためにLynx Webブラウザを使用します。PHPがインストールされているかどうかのテスト

$text = `lynx -dump stackoverflow.com`; 

/* 
#[1]Stack Overflow [2]RSS 

[3]login | [4]about | [5]faq 
____________________________ 
[6]logo homepage 
    * [7]Questions 
    * [8]Tags 
    * [9]Users 
    * [10]Badges 
*/ 

ただし、私がしたいのは、Lynxがサーバ上で利用できない場合の別の方法に落ち着いています。 PATHにプログラムが存在するかどうかをどうやって確認しますか?ああ、それはWindowsとLinuxの両方で動作する必要が...:P

私はSOスクリーンスクレーパーを書いていないよ、私が使用するLinuxの

答えて

3

を心配しないでくださいこれ

which linx 

窓についてのアイデア。あなたはおそらく、存在しないアプリケーションを呼び出すときに表示されるエラーメッセージは何かを見ることができます。私はそれが非常に一定であると期待しています
(それはブルースクリーンではないと思っています。画面: - D)

+0

Windows上にも 'which'をインストールすることができます。 – gacrux

0

可能な解決策の1つは、popen関数を使用することです。 lynxから入力パイプを開こうとしています。 falseを返す場合は、フォールバックメソッドを使用できます。詳細と実装例についてはthe PHP popen function documentationをご覧ください。

私はこれがWindows用であることに気付きました。私はフォールバックを使用して、マイレージを変更する必要があります。 lynxユーティリティが利用可能であることを確認したい場合は、それがそこにあることを確認し、あなた(そしてあなたのスクリプト)がどこにいるのかを確認することをお勧めします。スクリプト実行の前提条件の場所を指す設定ファイルには何も問題はありません。

-2

curl_*機能やfopenあるいはfsockopenを使用していないのはなぜ?

実際には、ページダンプの場合はfile_get_contentsで十分です(allow_url_fopenはあなたのPHP設定で有効にする必要があります)。

詳細については、php.netの各マニュアルをお読みください。

+0

Lynxはhtmlページをきれいにフォーマットされたプレーンテキストに変換します。 file_get_contents()doesnt。 – gnud

+0

lyxn on windows ... heh - 幸運です。私は、strip_tagsがあなたを助けると思う。 – Jet

+0

http://home.pacific.net.sg/~kennethkwok/lynx/ – nickf

関連する問題