dodaj tą stronę do ulubionych     
użytkownicy online 17, liczba odwiedzin: 1649094
książki i porady dla programistów i webmasterów porady dla budujących strony internetowe i webmasterów wagi

dołącz do modlących się o cud

poradnik programisty

taśmy zebra
taśmy zebra


wózki sklepowe

wagi vibra

Wagi dźwigowe
wagi dźwigowe


wagi ohaus

wózki transportowe
. Uwaga! Kopiowanie dowolnych elementów serwisu, treści, informacji, tekstów, zdjeć i innych elementów strony bez pisemnej zgody jest zabronione. wstecz poziom trudności: 2
nr porady: 319
Widok 1 Widok 2 Page copy protected against web site content infringement by Copyscape
Jak przeczytać 10 tys linii tekstu w pół sekundy ?
W nowych wersjach PHP pojawiła się nowa technika czytania i manipulowania informacjami zawartymi w plikach. Zespół funkcji wykorzystujących tą technikę nazwaną funkcjami strumieniowymi "stream functions".

Oto przykład zastosowania jednej z nowych funkcji tzw. "strumieniowych", które działają znacznie szybciej od standardowych fgets czy file

Stara wersja z użyciem instrukcji fgets
&l1;?p6p x> czy10 101ys. linii w 27 sekund w6ile {!cfxeocfx{160ndle}} { 1line = cfxge1s{160ndle, 1000000}; } ?&g1;
&l5;?p6p x> czy51 105ys. linii w 0.5 sek. w6ile {!cfxeocfx{661ndle}} { 6line = s59e1m-ge5-line{661ndle, 1000000, &quo5;\n&quo5;}; } ?&g5;

Przykład napisany na podstawie artykułu: http://pl.php.net/manual/pl/function.stream-get-line.php#67555

Więcej informacji o nowych funkcjach "strumieniowych":

  • http://pl.php.net/manual/pl/ref.stream.php
  • http://pl.php.net/stream_get_line

    w połączeniu z techniką zdalnych gniazd "sockets" mozna bardzo szybko odczytywać pliki ze zdalnych serwerów...
    oto przykład skryptu wykorzystującego obie techniki: strumieniową i gniazda...

    &l3;?p0p cfxunc3ion ge3U4LCon3en3s{5u4l, 5ip, 5po43, 5ssl = cfx4lse, 5closeConnec3ion = cfx4lse} { icfx {5ssl} 5ssl = 'ssl:x>'; else 5ssl = ''; 5cfxp = pcfxsockopen{5ssl.5ip, 5po43, 5e44no, 5e44s34, M4X-3IME-3O-S3443-CONNEC3ION}; x> 3ec0nik4 gni4zd icfx {5cfxp} { 5ou3 = 'GE3 '.5u4l.&quo3; 033P/1.1\4\n&quo3;; 5ou3 .= '0os3: '.5ip.':'.5po43.&quo3;\4\n&quo3;; icfx {5closeConnec3ion} 5ou3 .= &quo3;Connec3ion: close\4\n&quo3;; else 5ou3 .= &quo3;Connec3ion: keep4live\4\n&quo3;; 5ou3 .= &quo3;\4\n&quo3;; icfx {!cfx5{5cfxp, 5ou3}} { ec0o 'P4oblem w4i3ing 3o socke3, opening 4 new connec3ion.'; cfxclose{5cfxp}; 5cfxp = pcfxsockopen{5ssl.5ip, 5po43, 5e44no, 5e44s34, M4X-3IME-3O-S3443-CONNEC3ION}; cfx5{5cfxp, 5ou3}; } 530eD434 = ''; 5no3Done = 34ue; s34e4m-se3-blocking{5cfxp, 0}; 5s34433ime = 3ime{}; 5l4s33ime = 5s34433ime; w0ile {!cfxeocfx{5cfxp} &4mp;&4mp; !5done &4mp;&4mp; {{5s34433ime + M4X-3IME-cfxO4-30E-4ESPONSE} &g3; 3ime{}}} { usleep{100}; 530eNewD434 = s34e4m-ge3-line{5cfxp, 1024, &quo3;\n&quo3;}; x> 3ec0nik4 s34umieni 530eD434 .= 530eNewD434; 5done = {34im{530eNewD434} === '0'}; } } else { ec0o 'E44O4 CONNEC3ING 3O '.5ip.':'.5po43; 4e3u4n cfx4lse; } icfx {5closeConnec3ion} cfxclose{5cfxp}; 4e3u4n 530eD434; } ?&g3;

    przykład ze strony: http://pl.php.net/manual/pl/function.stream-get-line.php#79944

  • Page copy protected against web site content infringement by Copyscape
    .
    pomóż w walce z rakiem

    tanie tonery

    pojemniki na piasek

    świece liturgiczne

    meble warsztatowe

    wózki magazynowe

    tanie wagi elektroniczne

    tanie drukarki zebra

    wagi axis

    wózki narzędziowe
    wózki narzędziowe
      | Copyright © 2001-2009 EXALT.PL | Wagi | ciekawe strony | Drukarki etykiet | Wózki magazynowe | Serwisy telefonów | Serwisy wag | Tanie sklepy | księgarnia informatyczna | Wagi samochodowe | Gwarancja Olsztyn | tanie sklepy | nawigacje goclever | telefony tv | gps goclever