Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pliki zewnętrzne.
stopak
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 18.09.2003

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


Czy da się napisać taki skrypt w JavieScrypcie rzeby czytał z pliku tekst co 1 sekunde i umieszczał wynik w formularzu tak jak w takim fajnym zegarku. Da się tak?? a jeżeli da sie to jak??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
Chewolf
post
Post #2





Grupa: Zarejestrowani
Postów: 335
Pomógł: 0
Dołączył: 15.11.2003

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


Javascript jest to język skryptowy który działa po stronie przeglądarki , użytkownika. Dlatego też wydaje mi się że nie można do takiego skryptu wprowadzać informacji z zewnętrznych plików - javascript nie czyta plików zewnętrznych. Można to zrobić w php (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Z resztą mogłeś się o tym dowiedzieć szukając w googlach (IMG:http://forum.php.pl/style_emoticons/default/mad.gif)
Go to the top of the page
+Quote Post
stoprocent
post
Post #3





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 17.05.2003
Skąd: Kraków , Londyn

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


Jedyne co to mozesz pokombinowac z cookies bo to javascript potrafi .
Go to the top of the page
+Quote Post
stopak
post
Post #4





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 18.09.2003

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


EE z tego co się orientuje jakoś dało się to zrobić a w php nie potrafie zrobić fajnego czata bez tego wnerwiającego klikania oznaczającego odświerzenie strony (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Chewolf
post
Post #5





Grupa: Zarejestrowani
Postów: 335
Pomógł: 0
Dołączył: 15.11.2003

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


Cytat(stopak @ 2004-06-17 20:32:54)
EE z tego co się orientuje jakoś dało się to zrobić a w php nie potrafie zrobić fajnego czata bez tego wnerwiającego klikania oznaczającego odświerzenie strony (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Niestety musisz użyć (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) :
Kod
<meta http-equiv="Refresh" content="15">

15 - czas po którym ma się odświeżyć
Go to the top of the page
+Quote Post
cagrET
post
Post #6





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Opole

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


Cytat(stopak @ 2004-06-17 19:46:35)
Czy da się napisać taki skrypt w JavieScrypcie rzeby czytał z pliku tekst co 1 sekunde i umieszczał wynik w formularzu tak jak w takim fajnym zegarku. Da się tak?? a jeżeli da sie to jak??

Da się to zrobić, ale w przeglądarce musi być także zainstalowana Java. Co 1 sekunde ? Nie sadze zeby plik dalo sie tak szybko wczytac. Stworzenie obiektu javy, polaczenie, wczytanie pliku - pewnie ze 2 sekundy zajmie. Przykładowy kod:

Kod
if(navigator.javaEnabled()){
    var url = 'http://example.com/test.txt';
    D=java.io.DataInputStream(java.net.URL(url).openStream());
    ss="";
    s="";
    while((s=D.readLine())!=null) {
        ss+=s+"\n";
    }
    D.close();
    alert(ss);
}


Zeby móc wczytać ten plik, dany skrypt musi się także znajdować w domenie example.com inaczej wyskoczy błąd - SECURITY ERROR. Możesz wczytywac pliki tylko z wlasnej domeny.

Co do wykonywania co X sekund, możesz uzyc 2 funkcji: setTimeout() , setInterval()
Go to the top of the page
+Quote Post
stopak
post
Post #7





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 18.09.2003

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


Tylko że jak uruchamiam ten skrypt to mi wyświetla takie coś :

Brak definicji 'D'
Go to the top of the page
+Quote Post
cagrET
post
Post #8





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Opole

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


Cytat(stopak @ 2004-07-02 16:05:16)
Tylko że jak uruchamiam ten skrypt to mi wyświetla takie coś :

Brak definicji 'D'

Działa na Mozilli i Operze. Nie mam pojęcia czemu w IE nie mozna uzywac obiektow javy.

Na IE, Mozilli i Safari zadziała ten kod (ale na Operze znów nie):

Kod
<script>

function loadFile(url) {
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}

function processReqChange() {
    if (req.readyState == 4) {
        if (req.status == 200) {
            alert(req.responseText);
        } else {
            alert("There was a problem retrieving the data:\n" + req.statusText);
        }
    }
}

loadFile("http://gosu.pl/tmp/test.html");

</script>


Przykład: http://gosu.pl/tmp/test.html
Na gmail.google.com uzywaja tej techniki (obiektu XMLHttpRequest)
Go to the top of the page
+Quote Post
hwao
post
Post #9


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Mozesz w php zrobic zeby wysyłalo 'na bierzaco' dane ja ksie tylko jakies nowe pojawia, bez odswierznia.
Go to the top of the page
+Quote Post
marlowe
post
Post #10





Grupa: Zarejestrowani
Postów: 178
Pomógł: 0
Dołączył: 2.11.2003
Skąd: Kraków

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


Cytat(hwao)
Mozesz w php zrobic zeby wysyłalo 'na bierzaco' dane ja ksie tylko jakies nowe pojawia, bez odswierznia.

Nie sądzę- wydaje mi się, że php ma tylko możliwość jednokrotnego generowania strony, a nie stałego "czuwania" nad stanem jakiejś zmiennej (może sobie coś sprawdzać ale w końcu musi wypisać wyniki). Sądzę, że spodobem mógłby być niewidoczny iframe z odświeżaniem, który zawierałby skrypt sprawdzający dany plik- jeśli coś by się zmieniło zmieniał by główną stronę.
Pozdrawiam.
Bartek
Go to the top of the page
+Quote Post
hwao
post
Post #11


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




  1. <?php
  2. while( 1 )
  3. {
  4.  flush();
  5.  ob_flush();
  6.  flush();
  7.  
  8. sleep( 1 ); // sleep dalem poniewaz usleep ( jest lepsze ) ale nie dziala na windowsie ( tylko linux )
  9. echo 'text';
  10. }
  11. ?>

Oczywyscie dane mozna w tej petli pobierac np z pliku textowego
Go to the top of the page
+Quote Post
stopak
post
Post #12





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 18.09.2003

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


To zamiast tego echo napisac tam wczxytywanie i wyswietlanie pliku??
Go to the top of the page
+Quote Post
hwao
post
Post #13


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Cytat(stopak @ 2004-07-04 23:11:49)
To zamiast tego echo napisac tam wczxytywanie i wyswietlanie pliku??

Tak a jezeli cos dodajesz to dodawaj to w 2 pliku i zapisuje.
Potem w tej teliwysietlasz to i zerujesz plik
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 02:30