Проблем със fsockopen(); във foreach();

proba

Registered
Здравейте.
Имам един текстов документ (sites.txt).
В него съм въвел 5 сайта.
Да речем че те са:

http://abv.bg
http://data.bg
http://web-tourist.net
http://pomagalo.com
http://google.bg

Първо с един php файл отварям текстовия документ.
След това изкарвам сайтовете чрез foreach 1 по 1.
После чрез функцията fsockopen(); проверявам дали може да се отвори линка.
И би трябвало на всеки сайт да ми изкара че е онлайн но то изкарва че само последния е онлайн.
Ако вкарам още сайтове в списъка , винаги показва че последния е онлайн.
Ето кода който съм написал:

Код:
<?php
$file = "sites.txt";
$content = file_get_contents("$file");
$explode = explode("\n","$content");
foreach($explode as $bot){
  $ip = gethostbyname($bot);
if(@fsockopen($ip,80,$errno,$errstr,1)) echo "<b><font color=green>$bot - Online</font></b><br>";
else echo "<b><font color=red>$bot - Offline</font></b><br>";
}
?>

Имате ли идея къде е грешката в кода ?
 
Аз бих го направил така:

Код:
<?
function Visit($url)

{

$agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init();

curl_setopt ($ch, CURLOPT_URL,$url );

curl_setopt($ch, CURLOPT_USERAGENT, $agent);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch,CURLOPT_VERBOSE,false);

curl_setopt($ch, CURLOPT_TIMEOUT, 5);

$page=curl_exec($ch);

//echo curl_error($ch);

$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);

if($httpcode>=200 && $httpcode<300) return true;

else return false;

}
$file = "sites.txt";
$content = file_get_contents("$file");
$explode = explode("\n","$content");
$count = count($explode);
for($i=1;$i<$count;$i++) {
if(Visit(substr($explode[$i-1],0,-1))) echo "<b><font color=green>".$explode[$i-1]." - Online</font></b><br>";
else echo "<b><font color=red>".$explode[$i-1]." - Offline</font></b><br>";    
}

?>

Сложи нов ред и след последният запис в sites.txt
 
Сега в текстовия файл съм добавил тези сайтове:

http://impulse.bg
http://kalkani.com
http://probg.org
http://zamunda.net
http://abv.bg
http://google.bg
http://sportal.bg

Резултата с кода който си дал е следния:

http://impulse.bg - Offline
http://kalkani.com - Online
http://probg.org - Online
http://zamunda.net - Online
http://abv.bg - Offline
http://google.bg - Offline
http://sportal.bg - Offline

А би трябвало да изкара на всички че са онлайн..
Някаква идея защо става така ?
 
слагай www и нов ред след последния запис.
пример:
Код:
http://www.abv.bg
http://www.data.bg
http://www.web-tourist.net
http://www.pomagalo.com
http://www.google.bg

=>

Код:
http://www.abv.bg - Online
http://www.data.bg - Online
http://www.web-tourist.net - Online
http://www.pomagalo.com - Online
http://www.google.bg - Online
http://www.impulse.bg - Online
http://www.kalkani.com - Online
http://www.probg.org - Online
http://www.zamunda.net - Online
http://www.abv.bg - Online
http://www.google.bg - Online
http://www.sportal.bg - Online
 

Back
Горе