Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как прочитать HTML код 
:(
    Опции темы
lasalexx
  Дата 15.11.2005, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 19.7.2004
Где: Tbilisi

Репутация: 1
Всего: 1



у меня есть вот такая функция которая считывает с другой страници html код, то есть "source":
Код

function html_source($_filename)
{
ob_start();
include $_filename;
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}


но на некторых серверах эта функция не работает. есть ли какой нибудь альтернативный метод?
PM MAIL WWW ICQ MSN   Вверх
Bikutoru
Дата 15.11.2005, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 8
Всего: 22



Цитата(lasalexx @ 15.11.2005, 13:04)
у меня есть вот такая функция которая считывает с другой страници html код

Если php-кода в файле нет (или его не нужно выполнять), то сгодится
Код

$content = file_get_contents('filename') 

или
Код

$content = join('', file('filename'))

или
Код

$content = '';
$fp = fopen('filename', 'r');
if ($fp) {
    while (!feof($fp)) {
        $content .= fread($fp, 1024);
    }
    fclose($fp);
}

или
Код

$fp = fopen('filename', 'r');
if ($fp) {
    $content = fread($fp, filesize('filename'));
    fclose($fp);
}


Это сообщение отредактировал(а) Bikutoru - 15.11.2005, 12:36


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
lasalexx
Дата 15.11.2005, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 19.7.2004
Где: Tbilisi

Репутация: 1
Всего: 1



а если нужно выполнять да ещё и надо учитывать asp код?
PM MAIL WWW ICQ MSN   Вверх
Mal Hack
Дата 15.11.2005, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



А зачем тут буферизация. Ты же работаешь с файлами на сервере. Буферизация тут не нужна.
PM ICQ   Вверх
lasalexx
Дата 16.11.2005, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 19.7.2004
Где: Tbilisi

Репутация: 1
Всего: 1



мне нужно открыть файлы с другого сервера а fopen ом их не возьмёшь. плюс ко всему мне нужен именно source файла. то есть даже если инормация находится в базе данных, я хочу её увидеть.
PM MAIL WWW ICQ MSN   Вверх
Ignat
Дата 16.11.2005, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



Цитата(lasalexx @ 15.11.2005, 14:09)
а если нужно выполнять да ещё и надо учитывать asp код?

PHP-интерпретатор не выполняет ASP-код!

Цитата(lasalexx @ 16.11.2005, 18:17)
мне нужно открыть файлы с другого сервера

Очень интересно, как ты собираешься смотреть сорцы на другом сервере?
Все функции, которые могут показать исходники работают с файловой системой, но не удаленными файлами.


--------------------
Теперь при чем :P
PM   Вверх
Mal Hack
Дата 16.11.2005, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Ignat @ 16.11.2005, 18:40)
Очень интересно, как ты собираешься смотреть сорцы на другом сервере?
Все функции, которые могут показать исходники работают с файловой системой, но не удаленными файлами.

Это раз.

Цитата(lasalexx @ 16.11.2005, 18:17)
мне нужно открыть файлы с другого сервера а fopen ом их не возьмёшь.

Два, я же уже даже тебе вроде объяснял, что надо сокеты юзать, а не файловые функции..
PM ICQ   Вверх
lasalexx
Дата 16.11.2005, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 19.7.2004
Где: Tbilisi

Репутация: 1
Всего: 1



я не хочу читать ни php ни asp коды. мне нужны уже выполненные html коды. то есть типо include, но только что б информация не выводилась в браузер а всего лишь была присвоена какой нибудь переменной. я могу это сделать с помошью следующей функции:
Код

function html_source($_filename)
{
ob_start();
include $_filename;
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}


просто эта функция не на всех серверах работает.

и ещё что там про сокетовые функции. может быть по подробней?
PM MAIL WWW ICQ MSN   Вверх
Ignat
Дата 17.11.2005, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



Цитата(lasalexx @ 16.11.2005, 22:37)
мне нужны уже выполненные html коды.


Код

<?
$text=implode("\r\n",file("http://someurl.ru/index.php"));//в переменной $text html-код
?>

Не проще?
Добавлено @ 09:18
ЗЫ. Читайте мануалы.

Это сообщение отредактировал(а) Ignat - 17.11.2005, 09:19


--------------------
Теперь при чем :P
PM   Вверх
Naruvi
Дата 17.11.2005, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 9.6.2005
Где: Москва

Репутация: нет
Всего: 1



Согласен с Игнатом. Зачем такие сложности?
PM MAIL WWW ICQ   Вверх
Guest
Дата 2.12.2005, 16:22 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











начал я разберать сокеты но что то не очень получается. на пример я хочу прочитать со своего хоста source страници http://forum.vingrad.ru/index.php?showtopic=70782. сделать я это пытаюсь так:
Код

function html_source($_filename)
{
$s=fsockopen($_filename, 80);
while(!feof($s))
{
$contents=$contents.fgets($s);
}
fclose($s);
return $contents;
}

$a=html_source("http://forum.vingrad.ru/index.php?showtopic=70782");

наверно я делаю что то не так.
  Вверх
Mal Hack
Дата 2.12.2005, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Код

$fn = "localhost";
$fp = fsockopen($fn, 80, $errno, $errstr, 30);
if (!$fp) {
   echo "$errstr ($errno)<br />\n";

} else {
   $out = "GET /_test/cache.php HTTP/1.1\r\n";
   $out .= "Host: localhost:80\r\n";
   $out .= "Connection: Keep-Alive\r\n\r\n";

   fwrite($fp, $out);
   while (!feof($fp)) {
       echo fgets($fp, 128);
       flush();
   }
   fclose($fp);
}
 

PM ICQ   Вверх
lasalexx
Дата 2.12.2005, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 19.7.2004
Где: Tbilisi

Репутация: 1
Всего: 1



merci. я эту функцию немного подредактировал и получилось вот это
Код

function get_source($url,$page)
{
$fn=str_replace("http://","",$url);

if($fn[strlen($fn)-1]=="/") $fn=substr_replace($fn,"",strlen($fn)-1);

$contents="";
$dir="/".str_replace($url,"",$page);

$fp = fsockopen($fn, 80, $errno, $errstr, 30);
if (!$fp) {
   //echo "$errstr ($errno)<br />\n";
} else {
   $out = "GET ".$dir." HTTP/1.1\r\n";
   $out .= "Host: ".$fn.":80\r\n";
   $out .= "Connection: Keep-Alive\r\n\r\n";
   fwrite($fp, $out);
   while (!feof($fp)) {
       $contents=$contents.fgets($fp, 128);
       flush();
   }
   fclose($fp);
}

return $contents;
}
//$url это домэн а $page страница которую нужно прочитать


работает не всегда, и делается всё это очень очень долго. нельзя ли как нибудь побыстрее?

Это сообщение отредактировал(а) lasalexx - 2.12.2005, 19:09
PM MAIL WWW ICQ MSN   Вверх
Mal Hack
Дата 2.12.2005, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



5 параметр у fsockopen посмотри в мане.
PM ICQ   Вверх
lasalexx
Дата 2.12.2005, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 19.7.2004
Где: Tbilisi

Репутация: 1
Всего: 1



а на include недьзя тожу time out установить, что б не ждал 30 секунд
PM MAIL WWW ICQ MSN   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0607 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.