Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обновление без обновления :)
 
 автор: ZetRider   (13.12.2005 в 16:30)   письмо автору
 
 

Привет, вот проблема:
нужна написать скриптик который бы выводил из txt файла информацию, без обновления... тоесть если добавить в txt файл букву, то она появлялась на екране.. но без всяких фреймов и обновлений страницы, типа цикла чтоль сделать, но немогу никак допереть как... надеюсь я понтяно обяснил)

   
 
 автор: Loki   (13.12.2005 в 16:32)   письмо автору
 
   для: ZetRider   (13.12.2005 в 16:30)
 

на php - нереально. тут нужны другие технологии.

   
 
 автор: Киналь   (13.12.2005 в 17:42)   письмо автору
 
   для: Loki   (13.12.2005 в 16:32)
 

Более того, это невозможно при использовании протокола http.

   
 
 автор: Loki   (13.12.2005 в 17:46)   письмо автору
 
   для: Киналь   (13.12.2005 в 17:42)
 

тут мне кажется вы погорячились. google же делает:)

   
 
 автор: Loki   (13.12.2005 в 17:46)   письмо автору
 
   для: Киналь   (13.12.2005 в 17:42)
 

странно... на кнопку нажал один раз. честное пионерское!;)

   
 
 автор: ZetRider   (13.12.2005 в 21:16)   письмо автору
 
   для: Loki   (13.12.2005 в 17:46)
 

к примеру в етом чате както сделано...
http://pdnx.firstvds.ru/
непонимаю как =( мне сказали типа того
<? while (true) echo time();?>
но я ничего непонял!

   
 
 автор: Artem S.   (13.12.2005 в 21:23)   письмо автору
 
   для: ZetRider   (13.12.2005 в 21:16)
 

Вы говорите немного о разных вещах.
Если "совсем" ничего не делать - то ничего не выйдет.

В гугле вы вводите текст, а это уже влечет запуск JS.
В чате же не закрывается соединение, т.е. посылается заголовок Connection: Keep-Alive и
set_time_limit(0)
while(true)
прекрасно работает. При этом страница все время "загружается"

   
 
 автор: ZetRider   (13.12.2005 в 21:58)   письмо автору
 
   для: Artem S.   (13.12.2005 в 21:23)
 

а примерчик можите привести?

   
 
 автор: Artem S.   (13.12.2005 в 22:11)   письмо автору
 
   для: ZetRider   (13.12.2005 в 21:58)
 

примерчик чего?

   
 
 автор: ZetRider   (13.12.2005 в 22:54)   письмо автору
 
   для: Artem S.   (13.12.2005 в 22:11)
 

как ето осуществить...
set_time_limit(0)
while(true)

   
 
 автор: Artem S.   (13.12.2005 в 23:05)   письмо автору
 
   для: ZetRider   (13.12.2005 в 22:54)
 


<?php
header
("Connection: Keep-Alive");
set_time_limit(0);

$pos 0;
while(
true)
{
    
$fp fopen("file.txt""r+");
    if ( 
$pos filesize($fp) )
    {
       
fseek($fp$pos);
       
$pos filesize($fp);
       
$buffer '';
       while( !
feof($fp) )
       { 
          
$buffer .= fgets($fp128);
       }
       
fcolse($fp);
       echo 
$buffer."<br>\n";
       
flush();
       }
}
?>

   
 
 автор: JIEXA   (13.12.2005 в 23:32)   письмо автору
 
   для: Artem S.   (13.12.2005 в 23:05)
 

этот вариант слишком много рессурсов жрет
вот советую http://dklab.ru/chicken/nablas/41.html

   
 
 автор: Hiper   (14.12.2005 в 01:25)   письмо автору
 
   для: JIEXA   (13.12.2005 в 23:32)
 

Можно использовать технологию com для яваскрипт...но тут есть ограничения работал только под Iexplorer

   
 
 автор: Михалыч   (14.12.2005 в 07:24)   письмо автору
 
   для: Hiper   (14.12.2005 в 01:25)
 

Я кстати видел сайт, на котором не идёт обновления страницы, а лишь обновляются только некоторые элементы. Как я понял, это пишется при помощи php и JavaScript. Но как?

   
 
 автор: ZetRider   (14.12.2005 в 12:53)   письмо автору
 
   для: Михалыч   (14.12.2005 в 07:24)
 

Ответ для Artem S. : Скрипт неработает, выдает ошибки
Warning: stat failed for Resource id #1 (errno=2 - No such file or directory) in F:\www\1.php on line 9

Warning: stat failed for Resource id #1 (errno=2 - No such file or directory) in F:\www\1.php on line 12

Fatal error: Call to undefined function: fcolse() in F:\www\1.php on line 18

ето 9 строка: if ( $pos < filesize($fp) ) ;
ето 12 строка: $pos = filesize($fp);
ето 18 строка: fcolse($fp);

Ответ для JIEXA: Спасиб, щас нужно разбиратся, но всеже нужно придумать что нибудь попроще.

   
 
 автор: oracle   (14.12.2005 в 13:30)   письмо автору
 
   для: ZetRider   (14.12.2005 в 12:53)
 

Этот вариант с set_time_limit(0); ресурсоёмкий - сколько клиентов подключены, столько процессов будет запущено. Лучше выбрать время опроса, скажем 1 с., и опрашивать скрипт php по XMLHttpRequest. Он будет проверять изменения в текстовом файле и отправлять клиенту.

Кроме идеи, нужно несколько других механизмов - обходить временное или постоянное отсутствие связи, разбор изменений текста на сервере и разбор ответа на клиенте. Защита от перегрузки на сервере. Поэтому не спрашивайте пример. Он есть где-то в работающих системах, но легче написать самому.

   
 
 автор: Artem S.   (14.12.2005 в 15:20)   письмо автору
 
   для: oracle   (14.12.2005 в 13:30)
 

2ZetRider
1. Могли и сами исправить. А говорить что нет такого файла, его можно создать вручную, это тот файл который вы будете дополнять. А последная ошибка - опечатка, правильно fclose.
2 All
Насчет ресурсоемкости. Все зависит от задачи, а задача в целом не ясна - я лишь привел пример одно из возмжных решений. Если это делается для админа и ему необходимо видет ситуацию в "реальном времини" - то этот вариант сойдет. По мне - я лучше сделаю через iframe, достаточно простой способ.

   
 
 автор: ZetRider   (14.12.2005 в 15:35)   письмо автору
 
   для: Artem S.   (14.12.2005 в 15:20)
 

2Artem S. : Извените, просто ступил... Все рпаботает НО! он выводит, и циклирует, у меня аж браузер виснет, в файле написано 123, и он его выводит в ряд бесконечное число, и выдает ошибки но ошибки я скрыл <? error_reporting(0) ?>, непонятно почему он так выводит текст из файла.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования