Локальный файл обрабатывается, а из http нет...

DanGien

Новичок
Локальный файл обрабатывается, а из http нет...

Приветствую!

Возникла такая проблема.

Код:

$file = "horoindex2.htm";
$myfile = "horo.htm";

Все работает.

Код:

$file = "http://ignio.com/r/weekly/cur/hea/index.html"; //Файл полностью идентичен horoindex2.htm
$myfile = "horo.htm";

Выдает ошибку Notice: Undefined offset: 0 in x:\home\mytest\www\grab\index2.php on line 23

В этих строчках идет обработка удаленного файла, код такой:

$fp1 = fopen ("$file", "r") or die("File ($file) does not exist!");
$fp = fread($fp1, 30000);
preg_match("/<TD><FONT size=\+1>(.*)<\/FONT>/sU", $fp, $match2);
$text = $match2[0]; //строка 23

В чем ошибка?
 

zmeigorin

Guest
DanGien
скорее всего, Вас кто-то не пускает в инет...
 

DanGien

Новичок
Да нет, я вот как бы в инете:)

Пользуюсь Php Expert Editor 3.1

Так вот, когда запускаю там Debug, иду пошагово, и в первом случае (когда локальный файл), и во втором, программа доходит до строчки $fp = fread($fp1, 30000);
и завершается. Выкидывает из Debug, выдавая пустое окно.

Так что определить, что у него там в $fp, затруднительно...
 

Linker

Guest
Автор оригинала: DanGien
Так что определить, что у него там в $fp, затруднительно...
echo '<pre>'.$fp.'<br><br>';
print_r($match2);
echo '</pre>';

P.S. Логика к "дебагу" отношения не имеет :)
 

DanGien

Новичок
Спасибо, Linker.

Попробовал.

Выдает страницу как надо.

Подправил немного регулярное выражение, теперь работает как надо:

ищем:

<font size="+1">9 - 15 февраля</font>

выражение:

preg_match("/<font size=\"\+1\">(.*)<\/font>/sU", $fp, $match2);
$text = $match2[0];

Но вот возникла др. проблема.

У меня на винте файл работает на УРА (localhost)

А закачав его на сайт, запускаю оттуда, так все файлы обрабатывает как надо (остальные "мишени" я читаю посимвольно), а этот, с датой, который я читаю так

$file = "http://ignio.com/r/weekly/cur/hea/index.html";

$fp1 = fopen ("$file", "r") or die("File ($file) does not exist!");
$fp = fread($fp1, 30000);
preg_match("/<font size=\"\+1\">(.*)<\/font>/sU", $fp, $match2);
$text = $match2[0];

Выдает опять же, что ничего не находит...

Тогда изменил на

$fp1 = fopen ("$file", "r") or die("File ($file) does not exist!");
$fp = fread($fp1, 30000);
print $fp;

Запускаю на диске (localhost), выводит ВЕСЬ файл как надо, запускаю на сервере, выводит первую таблицу файла и обрывает... Причем, эта таблица выводится то целиком, то до половины...

С чем это может быть связано? Почему на сервере он не читает файл с др. сервера полностью?

Прямо мистика какая-то с этим скриптом:)
 
Сверху