Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Dynamiczna czy statyczna strona?, Jak generować, aby to osiągnąć?
Najki
post 18.08.2005, 13:51:18
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Spotkałem się z dwoma sposobami przesyłu danych z php do przeglądarki. Pierwszy to wysyłanie do przeglądarki gotowego kodu po zakończonej generacji go. Drugi to wysyłanie efektów pracy php na bieżąco do przeglądarki (przykład: skrypt łączący się z siecią IRC, który na bieżąco wyświetla wyniki, które otrzymuje z sieci IRC).

Co trzeba zrobić, aby osiągnąć tą drugą opcję? (a może to tylko złudzenie?)


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
luinnar
post 18.08.2005, 14:34:20
Post #2





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 15.07.2004
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


nie wiem czy o to ci chodzi luknij -> http://php.pl/nowosci/ajax_technologia_roku


--------------------
notDevBlog - devblog.luinnar.com
Go to the top of the page
+Quote Post
Seth
post 18.08.2005, 14:38:47
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


O to chodzi ? winksmiley.jpg
  1. <?php
  2. for ($i = 0; i <= 50; $i++)
  3. {
  4.  echo $i . "<br /> n";
  5.  flush();
  6.  
  7.  sleep(1);
  8. }
  9. ?>
Go to the top of the page
+Quote Post
Sh4dow
post 18.08.2005, 15:00:48
Post #4





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


A moze chodzi o oddzielenie warstwy logicznej od wizualnej (czy jak to tam sie nazywalo ? )
Albo o ustawienie bufora w apache ?
Rkingsmiley.png


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
Najki
post 18.08.2005, 15:02:15
Post #5





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


@luinnar: nie o to mi chodziło, ale też ciekawe winksmiley.jpg.

@Seth: właśnie tak, dzięki wielkie!

@Sh4dow: nie smile.gif.

Ten post edytował Najki 18.08.2005, 15:02:35


--------------------
Go to the top of the page
+Quote Post
Sh4dow
post 18.08.2005, 15:04:26
Post #6





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


no ale buffora dla apache jednak to prawie to samo co seth. ale tylko przy odpowiednich ustawieniach Rkingsmiley.png
Pozdrawiam


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
nuerher
post 19.08.2005, 10:53:23
Post #7





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 26.12.2003
Skąd: 3miasto

Ostrzeżenie: (0%)
-----


Użycie funkcji flush daje mi trochę do myślenia. Czy aby się opłaca to dla serwera, gdyż wysyła załóżmy 100 rekordów pobranych z jakieś tabeli w bazie, następnie pobiera dane innej, a okazuje się, że jest błąd w zapytaniu i, że tak to ujmę, na marnę poszły te Bajty wysłane przez serwer, a gość tylko nie potrzebnie pobrał ich parę.

Druga sprawa, to sleep. Czeka jedną milisekundę... czy aby potrzebnie. Opóźnia tylko wykonanie skryptu.

---
Jeśli piszę trzy po trzy to powiedziedźcie. Nie jestem z wykształcenia informatykiem, a kodowaniem się po prostu interesuję.


--------------------
..:: człowiek roślina, myśl konająca ::..
Go to the top of the page
+Quote Post
nospor
post 19.08.2005, 11:05:39
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Czy aby się opłaca to dla serwera, gdyż wysyła załóżmy 100 rekordów pobranych z jakieś tabeli w bazie, następnie pobiera dane innej, a okazuje się, że jest błąd w zapytaniu i, że tak to ujmę, na marnę poszły te Bajty wysłane przez serwer, a gość tylko nie potrzebnie pobrał ich parę.
Z jednej strony masz rację. Ale rozważ taką sytuację. To pobieranie rekordów trwa powiedzmy minutę. Człowiek ma taką naturę że jak coś odpala i przez 5 sekund nic się nie dzieje, to szlag go trafia a nie wspomnę o minucie. Większośc nie doczeka tej minuty i pomyśli że jest coś zwalone i zakończy proces. A gdy będzie wyświetlana informacja o postępie, to gostek widzi że coś sie dzieje, że jest ok i wie w przybliżeniu ile jeszcze musi poczekać. Nawet jeśli przy 99% pojawi się błąd to i tak opłaca się pobrać tych pare bajtów dla spokojności użytkownika.

Co do sleep(). Zostało ono zastosowane, aby te dane wyświetlaly się powoli i żeby można było zobaczyć efekt dzialania flush. Gdyby nie było sleep dane by wyskoczyly tak szybko, jakby zostały wyswietlone wszystkie naraz.

pozdro


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 15:50