Bir program PHP kullanarak yüklü olup olmadığını test

3 Cevap php

Ben üzerinde çalışıyorum belirli bir PHP script için, ben düz metin HTML dönüştürmek ve çıkış yakalamak Lynx web tarayıcısı için bir sistem çağrısı kullanmak için gidiyorum:

$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
*/

Ancak ben yapmak istiyorum, ne Lynx sunucu üzerinde mevcut değildir durumunda farklı bir yöntem üzerine incelikle geri dönüş edilir. How do you check if a program exists in your PATH? Oh, ve Windows hem de Linux üzerinde çalışması gerekiyor ...: p

I'm not writing a SO screen scraper, don't worry...

3 Cevap

Linux koyardım which

which linx

No idea about windows. You can probably see what is the error message you get when calling a none existent app, I expect it is a very constant one
(Hope it isn't the blue screen, then you will have to use some way to color-pick the screen :-D )

Olası bir çözüm popen fonksiyonunu kullanmak olacaktır. Vaşak bir giriş borusunu açmaya. False döndürürse, size geri dönüş yöntemini kullanabilirsiniz. Bilgi ve uygulama örnekleri için the PHP popen function documentation bir göz atın.

Ben sadece benim son çareleri kullanabilir ve sizin kilometre değişebilir söylemek gerekir, bu Windows için olduğunu fark ettim, böylece. Eğer vaşak programı olduğuna emin olmak istiyorsanız, ben size orada ve nerede olduğunu (ve script) biliyorum emin olun tavsiye ederim. Komut dosyası yürütülmesine önkoşullar yerlere işaret eden bir yapılandırma dosyası ile yanlış bir şey yok.

Neden curl_* kullanarak değil functions or fopen or even fsockopen ?

Aslında, sayfa dökümü için file_get_contents is enough (allow_url_fopen) php yapılandırma etkin olmalıdır.

Daha fazla bilgi almak için php.net üzerinde ilgili kılavuzları okuyun.