file() не работает... Помогите разобраться!!!

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
qwertyuiop
Сообщения: 77
Зарегистрирован: 24 мар 2005, 11:00

Пытаюсь открыть и скачать ссылки с удалённых страничек... и получаю вот таки вот ошибки

Warning: file() [function.file]: php_network_getaddresses: gethostbyname failed in c:\program files\apache group\apache\home\test\data\csv.php on line 18

Warning: file(http://aport.ru ) [function.file]: failed to open stream: No error in c:\program files\apache group\apache\home\test\data\csv.php on line 18

Warning: join() [function.join]: Bad arguments. in c:\program files\apache group\apache\home\test\data\csv.php on line 18


[php]
// Data Base
define ("SERVER","localhost",true);
define ("DB","site",true);
define ("USER","root",true);
define ("PASS","nataly",true);
define ("CSV","references.csv",true);

// Read CSV file
$csv = file(CSV);
?>

<table width='100%' border='1' cellspacing='0' cellpadding='0' align='center'><tr><td width="50"><b>ID</b></td><td><b>Reference</b></td><td><b>URL</b></td><td><b>Text</b></td>
<?php
for ($i = 0; $i < count($csv); $i++)
{
trim($csv[$i]);
$html = join('',file("http://{$csv[$i]}"));
preg_match_all("!<a.*?href[ ]*=[ ]*\"?'?([^ \"'>]+)\"?'?.*?>(.*?)</a>!is",$html,$matches);

list($links,$href,$text) = $matches;

echo "<tr><td colspan='4' bgcolor='lightblue'><b>" . $csv[$i] . "</b></td></tr>";

for ($j = 1; $j < count($links); $j++)
echo "<tr><td>" . $j . " - " . $links[$j] . "</td><td>" . $href[$j] . "</td><td>" . $text[$j] . "<td></tr>";
}

?>
</table>

<?php
[/php]


Не пойму почему не открывает!!!

allow_url_fopen стоит как on в php.ini

иногда бывает одну ссылку скачает.. а другие нет.. (если в файле несколько адресов....)
qwertyuiop
Сообщения: 77
Зарегистрирован: 24 мар 2005, 11:00

Всё заработало после исправления

Код: Выделить всё

trim($csv[$i]); 
на

Код: Выделить всё

$url = trim($csv[$i]); 
dimas09
Сообщения: 4
Зарегистрирован: 12 июл 2007, 17:46

Имею подобную проблему
При использовании file(http://domain.com/) получаю ошибку
Warning: php_network_getaddresses: getaddrinfo failed: name or service is not known
А при использовании file(http://100.100.100.100/) все ок
Сервер IIS+PHP5
Подскажите как решить проблему.
Ответить