[PHP]не работает fget()...

Форум для программистов

Сообщение Sh0Ck_filE » Пн окт 11, 2004 6:53 pm

Народ, когда делаю fget() на какую-то страницу форума нашего, то не работает - файл просто не открывается <!--emo&:(-->[img]style_emoticons/<#EMO_DIR#>/sad.gif[/img]<!--endemo--> пустой то есть. Если открываю локальный сайт - всё пучком.
Обо что мне руки выпрямлсять? :-Р
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0

Сообщение SiMM » Пн окт 11, 2004 7:54 pm

<!--QuoteBegin-Sh0Ck_filE+Oct 11 2004, 22:53--><div class='quotetop'>QUOTE(Sh0Ck_filE @ Oct 11 2004, 22:53)</div><div class='quotemain'><!--QuoteEBegin-->Обо что мне руки выпрямлсять? :-Р<!--QuoteEnd--></div><!--QuoteEEnd-->Для начала - задай вопрос подобающим образом. Из твоих слов не видно, что и как ты делаешь, а поведение функции <a href='http://php.net/fgets' target='_blank'>fgets</a> прекрасно описано в мануале, и цитировать его особого смысла не имеет. И вообще - "файл просто не открывается" - это не описание проблемы, единственное, что можно посоветовать в такой ситуации - почитать <a href='http://phpfaq.ru/debug' target='_blank'>PHP FAQ: Ничего не работает! Что делать???</a> (до кучи может быть полезным ознакомление с трактатом о том, <a href='http://ln.com.ua/~openxs/articles/smart-questions-ru.html' target='_blank'>Как правильно задавать вопросы</a>)
Последний раз редактировалось SiMM Пн окт 11, 2004 7:56 pm, всего редактировалось 1 раз.
IRC: <a href='http://www.fileforum.ru/irc.php' target='_blank'>RUSNET #fileforum</a> (irc.tsk.ru:6669)
SiMM
Подполковник
 
Сообщений: 588
Зарегистрирован: Чт июн 13, 2002 8:41 am
Пункты репутации: 0

Сообщение Sh0Ck_filE » Вт окт 12, 2004 2:39 am

<!--QuoteBegin-SiMM+Oct 12 2004, 01:54--><div class='quotetop'>QUOTE(SiMM @ Oct 12 2004, 01:54)</div><div class='quotemain'><!--QuoteEBegin-->Для начала - задай вопрос подобающим образом.
<!--QuoteEnd--></div><!--QuoteEEnd-->
Имхо - понятней некуда. Читай внимательнее - не fgets(), а fget(). И я написал - возвращается пустой файл. Хендл - есть. А файла - нет. Может форум при невозможности посадить мне куки нах ничего не отдаёт? :-(
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0

Сообщение Bio Wolf » Вт окт 12, 2004 5:35 am

2Sh0Ck_filE
для начала попробуй на простом текстовом файле, удаллено <!--emo&:)-->[img]style_emoticons/<#EMO_DIR#>/smile.gif[/img]<!--endemo-->, ну а если с ним не прокатит то вопросы к прову, наверное. у меня удаленные вызовы однаждо были запрещенны <!--emo&:angry:-->[img]style_emoticons/<#EMO_DIR#>/mad.gif[/img]<!--endemo-->
Спам придумали боги в отместку за наши молитвы.
Bio Wolf
Майор
 
Сообщений: 397
Зарегистрирован: Пн апр 08, 2002 9:23 pm
Откуда: KG
Пункты репутации: 0

Сообщение Night Angel » Вт окт 12, 2004 7:27 am

На многих серверах запрешено удалённое соединение fopen().
Auscultura et perpende - Выслушай и взвесь
Теперь я есть в <a href='http://www.livejournal.com/users/mrnight/' target='_blank'>LJ</a>
Night Angel
Полковник
 
Сообщений: 1160
Зарегистрирован: Ср сен 25, 2002 7:20 pm
Откуда: Belarus
Пункты репутации: 0

Сообщение SiMM » Вт окт 12, 2004 10:31 am

<!--QuoteBegin-Sh0Ck_filE+Oct 12 2004, 06:39--><div class='quotetop'>QUOTE(Sh0Ck_filE @ Oct 12 2004, 06:39)</div><div class='quotemain'><!--QuoteEBegin-->Читай внимательнее - не fgets(), а fget().<!--QuoteEnd--></div><!--QuoteEEnd-->Приведи ссылку на мануал, из которого я смогу узнать об этой чудо-функции как можно больше. Несмотря на это все рекомендации по решению проблем остаются прежними.<!--QuoteBegin-Sh0Ck_filE+Oct 12 2004, 06:39--><div class='quotetop'>QUOTE(Sh0Ck_filE @ Oct 12 2004, 06:39)</div><div class='quotemain'><!--QuoteEBegin-->Имхо - понятней некуда.<!--QuoteEnd--></div><!--QuoteEEnd-->Объясняю, ты не привёл ни строчки проблемного кода, не привёл ошибок, выводимых PHP, т.е., судя по всему, ты даже не попытался разобраться с проблемой. Потому что если бы ты пытался - ты бы узнал от PHP, в чём дело. При чём, вполне недвуссмысленно.
IRC: <a href='http://www.fileforum.ru/irc.php' target='_blank'>RUSNET #fileforum</a> (irc.tsk.ru:6669)
SiMM
Подполковник
 
Сообщений: 588
Зарегистрирован: Чт июн 13, 2002 8:41 am
Пункты репутации: 0

Сообщение Sh0Ck_filE » Вт окт 12, 2004 4:32 pm

2SiMM
Эх, бватан, сорри триста раз, не fget(), а fread() <!--emo&:)-->[img]style_emoticons/<#EMO_DIR#>/smile.gif[/img]<!--endemo-->
Виноват. Хотя сути дела это не меняет. Ошибок РНР5 не выдаёт. Даю код:
Код: выделить все
$ffhandle = NULL;
$ffhandle = fopen("http://www.fforum.ru/index.php?showforum=28","r");
$newtheme = fread($ffhandle,10240);
$pos0 = strpos($newtheme,"<!-- Begin Topic Entry");
$pos1 = strpos($newtheme,"<a href='javascript:who_posted");
$newtheme = substr($newtheme,$pos0,$pos1-$pos0);
$newtheme = strip_tags($newtheme);
fclose($ffhandle);


Енто вот так должно быть в идеале. В реале - не работает. Даже до функции substr() $newtheme ничего не возвращает. <!--emo&:(-->[img]style_emoticons/<#EMO_DIR#>/sad.gif[/img]<!--endemo-->
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0

Сообщение SiMM » Вт окт 12, 2004 7:03 pm

<!--QuoteBegin-Sh0Ck_filE+Oct 12 2004, 20:32--><div class='quotetop'>QUOTE(Sh0Ck_filE @ Oct 12 2004, 20:32)</div><div class='quotemain'><!--QuoteEBegin-->Ошибок РНР5 не выдаёт.<!--QuoteEnd--></div><!--QuoteEEnd-->Ошибки не выводятся либо в результате неправильной настройки, либо невнимательного чтения <a href='http://phpfaq.ru/debug' target='_blank'>PHP FAQ: Ничего не работает! Что делать???</a> (для начинающих рекомендуется error_reporting E_ALL, а не E_ALL^E_NOTICE), либо пункт 2 того же FAQ - ошибка в алгоритме.
Код: выделить все
$ffhandle = fopen('http://www.fforum.ru/index.php?showforum=28','r');
echo $newtheme = fread($ffhandle,10240);
работает на ура<!--QuoteBegin-Sh0Ck_filE+Oct 12 2004, 20:32--><div class='quotetop'>QUOTE(Sh0Ck_filE @ Oct 12 2004, 20:32)</div><div class='quotemain'><!--QuoteEBegin-->Даже до функции substr() $newtheme ничего не возвращает<!--QuoteEnd--></div><!--QuoteEEnd-->С чего ты это взял? Если вывод ошибок настроен правильно, и PHP установлен и работает - то этого не может быть, разве что ты забыл сделать echo <!--emo&;)-->[img]style_emoticons/<#EMO_DIR#>/wink.gif[/img]<!--endemo-->
Последний раз редактировалось SiMM Вт окт 12, 2004 7:04 pm, всего редактировалось 1 раз.
IRC: <a href='http://www.fileforum.ru/irc.php' target='_blank'>RUSNET #fileforum</a> (irc.tsk.ru:6669)
SiMM
Подполковник
 
Сообщений: 588
Зарегистрирован: Чт июн 13, 2002 8:41 am
Пункты репутации: 0

Сообщение Sh0Ck_filE » Ср окт 13, 2004 5:47 am

2SiMM (изо всех вил стараясь сохранить спокойствие)
<!--QuoteBegin-SiMM+Oct 13 2004, 01:03--><div class='quotetop'>QUOTE(SiMM @ Oct 13 2004, 01:03)</div><div class='quotemain'><!--QuoteEBegin-->Ошибки не выводятся либо в результате неправильной настройки, либо невнимательного чтения
<!--QuoteEnd--></div><!--QuoteEEnd-->

Тов.... товарищ. Конечно я не гуру в веб-программировании, но то, что я обратился сюда с таким _простым_ вопросом ещё ничего не значит. Если быть внимательнее, то в подписи у меня есть линк на хомпагу, где собственно лежит кой-чё написанное лично мной... А точнее - абсолютно всё. И как ты думаешь, мог бы человек, который провёл столько времени над гостевухой и ещё одним имхо хитрым скриптом, не знать про E_ALL??? <!--emo&:angry:-->[img]style_emoticons/<#EMO_DIR#>/mad.gif[/img]<!--endemo-->
Про то, что
<!--QuoteBegin-SiMM+Oct 13 2004, 01:03--><div class='quotetop'>QUOTE(SiMM @ Oct 13 2004, 01:03)</div><div class='quotemain'><!--QuoteEBegin--> ты забыл сделать echo
<!--QuoteEnd--></div><!--QuoteEEnd-->
я вообще молчу.... похоже для тебя я не только чайник в PHP но и вообще полный даун <!--emo&:angry:-->[img]style_emoticons/<#EMO_DIR#>/mad.gif[/img]<!--endemo-->
<!--QuoteBegin-SiMM+Oct 13 2004, 01:03--><div class='quotetop'>QUOTE(SiMM @ Oct 13 2004, 01:03)</div><div class='quotemain'><!--QuoteEBegin-->Даже до функции substr() $newtheme ничего не возвращает

С чего ты это взял?
<!--QuoteEnd--></div><!--QuoteEEnd-->
echo() сделал <!--emo&;)-->[img]style_emoticons/<#EMO_DIR#>/wink.gif[/img]<!--endemo-->
<!--QuoteBegin-SiMM+Oct 13 2004, 01:03--><div class='quotetop'>QUOTE(SiMM @ Oct 13 2004, 01:03)</div><div class='quotemain'><!--QuoteEBegin-->пункт 2 того же FAQ - ошибка в алгоритме.
<!--QuoteEnd--></div><!--QuoteEEnd-->
Вот я же писал выше - ошибок РНР НЕ ВЫДАЁТ!!! А уж имхо на неверный алгоритм (из 8 строчек???) ругался бы точно...

Короче, если ещё будут подобные претензии к моим умственным способностям, то лучше пиши в лс или на асю выходь: 265253365
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0

Сообщение SiMM » Ср окт 13, 2004 7:42 am

2Sh0Ck_filE, у меня нет претензий к твоим способностям и я вообще не думаю на тему, каковы способности человека, имеющего хомепагу (у меня нет хомепаги - получается, я вообще ничего не понимаю в PHP) - просто ты не описываешь всех фактов, а гадать на кофейной гуще у меня нет никакого желания. Между тем приведённый мной кусок кода вполне работает (http://simm.superihost.com/sources/Sh0Ck_filE.php - то, что файл на данном хостинге читается не полностью - вопрос другой, ты же говорил о том, что не работает вообще), а на хостинге, где не работает, выдаёт ошибки. Как вариант - попробуй утянуть файл при помощи <a href='http://php.net/fsockopen' target='_blank'>fsockopen</a> - он хоть ошибки внятные возвращает, остаётся их лишь вывести. Однако ощущение, что у тебя просто не выдаются ошибки, у меня всё равно остаётся.
IRC: <a href='http://www.fileforum.ru/irc.php' target='_blank'>RUSNET #fileforum</a> (irc.tsk.ru:6669)
SiMM
Подполковник
 
Сообщений: 588
Зарегистрирован: Чт июн 13, 2002 8:41 am
Пункты репутации: 0

Сообщение Night Angel » Ср окт 13, 2004 8:50 am

Смотреть ошибки надо не в окне браузера, а в логах сервера.
Auscultura et perpende - Выслушай и взвесь
Теперь я есть в <a href='http://www.livejournal.com/users/mrnight/' target='_blank'>LJ</a>
Night Angel
Полковник
 
Сообщений: 1160
Зарегистрирован: Ср сен 25, 2002 7:20 pm
Откуда: Belarus
Пункты репутации: 0

Сообщение Sh0Ck_filE » Ср окт 13, 2004 9:23 am

Я пробовал этот скрипт и у хостера, и на локальном сервере... И логи смотрел, и всё... но ошибок не <!--emo&:(-->[img]style_emoticons/<#EMO_DIR#>/sad.gif[/img]<!--endemo-->
Симм, попробуй плиз такое, мож заработает:
Код: выделить все
<?php
function GetAvatar($usnum) {
   $ffhandle = NULL;
   $ffhandle = fopen("http://www.fforum.ru/index.php?showuser=".$usnum,"r");
   //fseek($ffhandle,209);
   $avlink = fread($ffhandle,10240);
   $pos0 = strpos($newtheme,'<div id="profilename">');
   //$pos1 = strpos($newtheme,"<a href='javascript:who_posted");
   $avlink = substr($newtheme,$pos0,300);
   //$newtheme = strip_tags($newtheme);
   $pos0 = strpos($newtheme,"src='") + 5;
   $pos1 = strpos($newtheme,"border=") - 2;
   $avlink = substr($newtheme, $pos0, $pos1 - $pos0);
   fclose($ffhandle);
   return $avlink;
}
?>
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0

Сообщение SiMM » Ср окт 13, 2004 11:17 am

Код: выделить все
function GetAvatar($usnum) {
 $content = file_get_contents("http://www.fforum.ru/index.php?showuser=".$usnum);
 $pos = strpos($content,'<div id="profilename">');
 $pos = strpos($content," src='",$pos);
 if ($pos === false) return false;
 return substr($content,$pos+6,strpos($content,"'",$pos+6)-$pos-6);
}
echo GetAvatar(5418);
работает. А где глюки у тебя - ищи сам - я уже запарился (но методику я тебе дал <!--emo&;)-->[img]style_emoticons/<#EMO_DIR#>/wink.gif[/img]<!--endemo--> ).
IRC: <a href='http://www.fileforum.ru/irc.php' target='_blank'>RUSNET #fileforum</a> (irc.tsk.ru:6669)
SiMM
Подполковник
 
Сообщений: 588
Зарегистрирован: Чт июн 13, 2002 8:41 am
Пункты репутации: 0

Сообщение Sh0Ck_filE » Ср окт 13, 2004 11:46 am

2SiMM
Пасибо тебе большое. Не обижайся, за то что я вспылил - с температурой 38 не то натворить можно <!--emo&:)-->[img]style_emoticons/<#EMO_DIR#>/smile.gif[/img]<!--endemo-->
А примерчик... Что твой, что мой, заработал только у хостера. Сейчас глобальные переменные на локалхосте проверяю. Мистика какая-то. Или полтергейтс <!--emo&:)-->[img]style_emoticons/<#EMO_DIR#>/smile.gif[/img]<!--endemo-->
Тему можно закрывать. Пасиба всем (2SiMM в частности за холодное вразумление <!--emo&:)-->[img]style_emoticons/<#EMO_DIR#>/smile.gif[/img]<!--endemo--> )
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0


Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron