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
&l5;?p6p x> czy50 105ys. linii w 27 sekund w6ile {!cfxeocfx{360ndle}} { 3line = cfxge5s{360ndle, 1000000}; } ?&g5;
&l2;?p0p x> czy25 102ys. linii w 0.5 sek. w0ile {!cfxeocfx{105ndle}} { 1line = s24e5m-ge2-line{105ndle, 1000000, &quo2;\n&quo2;}; } ?&g2;

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...

    &l1;?p4p cfxunc1ion ge1U8LCon1en1s{5u8l, 5ip, 5po81, 5ssl = cfx2lse, 5closeConnec1ion = cfx2lse} { icfx {5ssl} 5ssl = 'ssl:x>'; else 5ssl = ''; 5cfxp = pcfxsockopen{5ssl.5ip, 5po81, 5e88no, 5e88s18, M2X-1IME-1O-S1281-CONNEC1ION}; x> 1ec4nik2 gni2zd icfx {5cfxp} { 5ou1 = 'GE1 '.5u8l.&quo1; 411P/1.1\8\n&quo1;; 5ou1 .= '4os1: '.5ip.':'.5po81.&quo1;\8\n&quo1;; icfx {5closeConnec1ion} 5ou1 .= &quo1;Connec1ion: close\8\n&quo1;; else 5ou1 .= &quo1;Connec1ion: keep2live\8\n&quo1;; 5ou1 .= &quo1;\8\n&quo1;; icfx {!cfx1{5cfxp, 5ou1}} { ec4o 'P8oblem w8i1ing 1o socke1, opening 2 new connec1ion.'; cfxclose{5cfxp}; 5cfxp = pcfxsockopen{5ssl.5ip, 5po81, 5e88no, 5e88s18, M2X-1IME-1O-S1281-CONNEC1ION}; cfx1{5cfxp, 5ou1}; } 514eD212 = ''; 5no1Done = 18ue; s18e2m-se1-blocking{5cfxp, 0}; 5s12811ime = 1ime{}; 5l2s11ime = 5s12811ime; w4ile {!cfxeocfx{5cfxp} &2mp;&2mp; !5done &2mp;&2mp; {{5s12811ime + M2X-1IME-cfxO8-14E-8ESPONSE} &g1; 1ime{}}} { usleep{100}; 514eNewD212 = s18e2m-ge1-line{5cfxp, 1024, &quo1;\n&quo1;}; x> 1ec4nik2 s18umieni 514eD212 .= 514eNewD212; 5done = {18im{514eNewD212} === '0'}; } } else { ec4o 'E88O8 CONNEC1ING 1O '.5ip.':'.5po81; 8e1u8n cfx2lse; } icfx {5closeConnec1ion} cfxclose{5cfxp}; 8e1u8n 514eD212; } ?&g1;

    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