Sunteți pe pagina 1din 11

Tehnologii WEB

Cursul 12

Utilizarea irurilor de caractere

Limbajul PHP include un numar mare de functii predefinite care sunt utilizate
pentru a efectua diverse operatii asupra sirurilor de caractere.

Compararea sirurilor si subsirurilor de caractere
Pentru compararea sirurilor de caractere sunt utilizate functiile strcmp() si
strcasecmp():
int strcmp(string sir1, string sir2)

Functia strcmp() compara in maniera case sensitive cele doua siruri transmisc ca
argumente, intorcand:
-1 - daca sir1 este mai mic decat sir2
0 - daca sir1 si sir2 sunt egale
1 (un numar pozitiv) - daca sir1 este mai mare decat sir2
Exemplu:
<?php
$sir1=Popescu Mihaela;
$sir2="Popescu Mihai";
if(strcmp($sir1, $sir2))
echo "Sirurile sunt diferite!";
else
echo "Sirurile sunt egale!";
?>

Prototipul functiei strcasecmp() este identic cu cel al functiei strcmp(). Ca si prima
functie amintita, strcasecmp() compara cele doua siruri transmise ca argument. De aceasta
data, se va realiza o comparare case insensitive. De exemplu sirurile "Web" si "web" vor fi
egale.

Compararea subsirurilor de caractere
Pentru compararea subsirurilor de caractere se utilizeaza functiile strncmp() si
strncasecmp():
int strncmp(string sir1, string sir2, int lungime)

Functia strnncmp() este similara cu strcmp(), cu diferenta ca se specifica un numar
care stabileste cate caractere vor fi comparate din cele doua siruri, intorcand aceleasi valori ca
aceasta.
Exemplu:
<?php
$sir1="Popescu Mihaela";
$sir2="Popescu Mihai";
if(strncmp($sir1, $sir2, 12))
echo "Subsirurile sunt diferite!";
else
echo "Subsirurile sunt egale!";
?>

Prototipul functiei strncasecmp() este identic cu cel al functiei strncmp(). Ca si prima
functie amintita, strcasecmp() compara un numar de caractere (precizat prin lungime) ale
celor doua siruri transmise ca argument. Diferenta este ca, de aceasta data, se va realiza o
comparare case insensitive.

Prelucrarea irurilor de caractere
Prelucrarea sirurilor de caractere presupune realizarea unor diverse operatii asupra
acestora, dintre care mentionam:
1. eliminarea spatiilor albe de la inceputul si/sau de la sfarsitul sirurilor
2. transformarea tuturor caracterelor in majuscule ori minuscule
3. convertirea unor caractere in entitati XHTML
4. criptarea sirurilor
5. extragerea subsirurilor si a cuvintelor

Eliminarea spatiilor albe
Pentru eliminarea spatiilor albe de la inceputul si/sau sfarsitul sirurilor de caractere se
utilizeaza functiile:
1. ltrim()
2. rtrim()
3. trim()
string ltrim(string sir [, string lista])

1. Functia ltrim() elimina spatiile albe (sau alte caractere) de la inceputul sirului sir,
transmis ca argument.
In absenta parametrului optional lista, din sir vor fi eliminate spatiile albe(caracterele
spatiu, tab, newline, carriage return, NULL-byte si tab vertical). Daca argumentul amintit
este prezent, din sir vor fi eliminate toate caracterele incluse in lista. Acest argument trebuie
specificat sub forma unei liste de caractere, precizate unul dupa altul. In lista poate fi inclus si
un domeniu, folosind .. . (doua puncte consecutive). Functia intoarce sirul rezultat in urma
eliminarii caracterelor specificate.
Exemplu:
<?php
$text="\t\tPHP - limbaj de programare pentru server.";
$salut="Salut prieteni.";
$textltrim=ltrim($text);
var_dump($textltrim);
/* Se va afisa:
string(41) "PHP - limbaj de programare pentru server."
*/
$salutltrim=ltrim($salut, "Sal") ;
var_dump($salutltrim);
/* Se va afisa:
String(11) "ut prieteni.

2. Functia rtrim() are o sintaxa similara cu cea a functiei ltrim(), numai ca in cazul
utilizarii sale, vor fi eliminate spatiile albe (sau alte caractere) de la sfarsitul sirului transmis
ca argument.
De asemenea, functia trim() are o sintaxa similara cu cea a functiilor descrise anterior,
deosebindu-se de ele prin faptul ca efectul utilizarii sale consta in eliminarea spatiilor albe
(sau a altor caractere), atat de la inceputul, cat si de la sfarsitul sirului transmis ca argument.

Transformarea caracterelor in minuscule sau majuscule
string strtolower (string sir)

Functia strtolower() intoarce sirul argument sir transformat, toate caracterele alfabetice
ale acestuia fiind minuscule.
string strtoupper(string $string)

Functia strtoupper() intoarce sirul argument sir transformat, toate caracterele
alfabetice ale acestuia fiind majuscule.

Criptarea sirurilor
Unele dintre aplicatiile Web utilizeaza date confidentiale (adica, parole, conturi
bancare, coduri numerice personale). Pentru a impiedica obtinerea lor de catre persoane
neautorizate, acestea trebuie criptate inainte de stocarea lor in bazele de date. Limbajul PHP
pune la dispozitia utilizatorilor un numar mare de functii predefinite care realizeaza criptarea
datelor, dintre care se pot mentiona:
1. md5()
2. cryp()
3. sha1()
4. crc32()

string md5 (string sir)

1. Functia md5() cripteaza sirul sir, intorcand un sir de 32 de caractere hexazecimale.
Acesta este asociat in mod unic sirului sir.
Exemplu:
if(md5($_POST['parola'])==$parola_extrasa)
echo "Autentificare realizata";
else
echo "Parola nu este corecta.";

In exemplul anterior, $parola_extrasa este parola criptata cu md5(), obtinuta din baza
de date in care a fost stocata anterior (secventa de extragere nu este prezentata).
Se observa ca parola furnizata de utilizator este mai intai criptata cu md5() si apoi
comparata cu cea extrasa din baza de date.

Extragerea cuvintelor
1. Pentru extragerea subsirurilor dintr-un sir se utilizeaza functia explode(), al carei
prototip este urmatorul:
array explode(string delimitator, string sir[, int limita])
Functia intoarce un tablou de siruri, fiecare dintre acestea fiind un subsir obtinut prin
ruperea sirului sir folosind delimitates.
Daca argumentul optional este precizat, numarul de elemente al tabloul intors nu va
depasi valoarea acestuia (limita), ultimul element continand restul sirului.
Daca delimitatorul este sirul vid (" "), functia explode() va intoarce valoarea false. In
schimb, daca valoarea acestui argument nu este continuta in sir, va intoarce intregul sir.
Functia explode() este des utilizata pentru a obtine cuvintele existente intr-un sir. In acest caz,
delimitatorul limita va avea valoarea " " (adica, caracterul spatiu).

Exemplu:
<?php
$sir="Programare pentru server.";
$tablou=explode(" ", $sir);
foreach($tablou as $cuvant)
echo $cuvant . "<br />";
/* Se va afisa:
Programare pentru server.
*/
?>
2. Functia care realizeaza operatia inversa este implode(). Aceasta aduna sir
elementele unui tablou, folosind un element de legatura:
string implode(string legatura, array tablou)

Functia intoarce un sir de caractere continand elementele tabloului tab in aceeasi
ordine, sirul legatura fiind prezent intre oricare doua elemente consecutive.

<?php
$tablou=array("Programare", "pentru", "server.");
$sir=implode(" ", $tablou);
echo $sir;
// Se va afisa Programare pentru server.
?>

Lucrul cu directoare i fisiere
Dupa cum se stie, prin intermediul unui limbaj de programare sunt posibile crearea si
manipularea structurile de date. Aceste structuri de date pot fi:
1. tranzitorii (stocate in memorie, tablouri, obiecte) sau
2. permanente (stocate in fisiere sau in baze de date)
Prin intermediul unor functii specifice, este posibil ca in PHP (ca si in alte limbaje) sa
se citeasca si sa se scrie date din/in fisiere.
De asemenea, pot fi efectuate si alte operatiuni cu directoare si fisiere, dintre care
amintim:
1. crearea, redenumirea si stergerea directoarelor
2. crearea, copierea, redenumirea si stergerea fisierelor
3. obtinerea si modificarea atributelor fisierelor
4. citirea si afisarea continutului directoarelor
5. modificarea permisiunilor fisierelor
6. includerea continutului fisierelor in structuri de date native
7. cautarea in fisiere pe baza unui sablon specificat

Functiile utilizate pentru lucrul cu directoare si fisiere sunt incluse in nucleul PHP,
nefiind necesara instalarea unor extensii specifice.
Indiferent de platforma pe care este folosit PHP - UNIX/Linux sau Windows -, pentru
lucrul cu fisiere si cataloage este utilizat modelul preluat din prima platforma amintita.
Trebuie sa se tina seama ca utilizarea functiilor destinate lucrului cu directoare si
fisiere, poate avea rezultatele asteptate numai daca exista permisiuni de acces
corespunzatoare.
In acest sens, trebuie avut in vedere ca procesorul PHP (care interpreteaza si executa
scripturile) ruleaza (ca si serverul Web) intr-un cont de utilizator cu permisiuni de acces
restranse (numit - de cele mai multe ori nobody), care nu trebuie confundat cu contul sub care
utilizatorul are acces FTP sau direct (prin intermediul shell-ului) la directoarele si fisierele al
caror proprietar este.
De asemenea, trebuie sa se tina seama ca unele dintre aceste functii pot fi utilizate
numai pe platforma Windows sau, dimpotriva, numai pe platforma UNIX/Linux.
Serverul Web (Apache) poate livra utilizatorilor fisiere situate numai sub radacina
documentelor (in Apache, aceasta este specificata in httpd.conf ca valoare a directivei
DocumentRoot).
In schimb, PHP poate accesa fisiere aflate in orice locatie, cu conditia ca permisiunile
de acces si directiva include_path (in php.ini) sa fie setate corect. De exemplu, daca radacina
documentelor este /usr/local/apache2/htdocs, Apacheva putea servi documente aflate numai
in acest director, precum si in subdirectoarele sale. In schimb, PHP poate deschide, citi si scrie
in fisiere situate in oricare director, in conditiile mentionate.

Utilizarea datelor introduse n formularele XHTML
O modalitate importanta de interactiune intre utilizatori si aplicatiile Web consta in
introducerea/selectarea unor date in/din formularele XHTML si trimiterea acestora unui
script de prelucrare care ruleaza pe server.
Datele trimise pot fi utilizate in diverse scopuri, dintre care mentionam:
1. autentificarea utilizatorilor
2. precizarea unor criterii pentru selectarea informatiilor stocate pe server si
care vor fi livrate ulterior utilizatorilor
3. furnizarea unor informatii confidentiale

Preluarea datelor introduse in formulare
Incepand cu versiunea PHP 4.1.0, datele introduse in formulare si trimise server-ului
sunt disponibile in tablourile asociative (variabile superglobale) $_GET, $_POST si
$_REQUEST.
Cheile elementelor tablourilor amintite sunt:
1. numele campurilor formularului
2. iar valorile elementelor sunt reprezentate de:
datele introduse de utilizatori (pentru campurile de tip text, password,
textarea)
sau de optiunile facute de acestia (pentru campurile de tip radio,
checkbox, hidden si select)

Date trimise prin metoda GET
Datele trimise scriptului prin metoda GET vor fi disponibile in scriptul de prelucrare a
acestora prin intermediul tablourilor superglobale $_GET si $_REQUEST.
In continuare este prezentat un exemplu simplu de utilizare a acestei metode, care
include fisierele date.html si afisare.php.
Fisierul date.html va avea urmatorul continut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtmll/DTD/xhtmlltransitional.
dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Utilizarea metodei GET</title>
</head>
<body>
<table>
<form method="get" action="afisare.php">
<tr><td>Nume</td>
<td><input type="text" name="nume"/></td></tr>
<tr><td>Prenume</td>
<td><input type="text" name="prenume" /></td></tr>
<tr><td><input type="submit" value="Trimite" /></td>
<td><input type="reset" /></td></tr>
</form>

Scriptul de prelucrare afisare.php va avea urmatorul continut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN'
"http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd":
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Afisarea datelor trimise folosind metoda GET</title>
</head>
<body>
<?php
if(!empty($_GET['nume']) && !empty($_GET['prenume'])) {
echo "Nume: ".$_GET['nume']."<br />";
echo "Prenume: ".$_GET['prenume'];
}
else
header("Location: date.html");
?>
</body>

In cazul in care utilizatorul completeaza ambele campuri ale formularului (se remarca
folosirea functiei empty()), scriptul de prelucrare inclus in fisierul afisare va afisa continutul
acestora.
In caz contrar, browserul va afisa din nou formularul de introducere a datelor.
Reafisarea formularului se realizeaza dupa ce serverul trimite browser-ului antetul Location
avand ca valoare numele fisierului date.html.
Dupa cum se poate constata, numele si prenumele utilizatorului se introduce in
campurile input de tip text ale caror atribut name au valorile "nume" si, respectiv "prenume".
Aceste date sunt preluate, in scriptul de prelucrare afisare.php elementele
$_GET[nume] si $_GET[prenume] ale tabloului superglobal $_GET.
De asemenea, datele pot fi preluate si in tabloul superglobal $_REQUEST, in mod
similar.

Date trimise prin metoda POST
Aplicatia anterioara poate fi modificata pentru a utiliza metoda POST in scopul
transmiterii catre server a datelor introduse in formular.
Astfel, atributul method al elementului form trebuie sa aiba valoarea "post", iar in
scriptul afisare.php trebuie sa se utilizeze secventa PHP urmatoare:
<?php
if(!empty($_POST['nume']) && !empty($_POST['prenume']))
{
echo "Nume: ".$_POST['nume']."<br />";
echo "Prenume: ".$_POST['prenume'];
}
else
header("Location: date.html");
?>

Elemente XHTML si variabile asociate
Elementele continute in formularul XHTML si al variabilelor corespunzatoare de care
dispune scriptul de prelucrare a datelor:

Elementul input
In cazul unui element input de tip text, scriptul de prelucrare dispune in tablourile
$_GET si $_REQUEST (daca se utilizeaza metoda GET) si, respectiv, $_POST si
$_REQUEST (daca se utilizeaza metoda POST) de cate un element a carui cheie coincide cu
numele elementului (valoarea atributului name al acestuia) si a carui valoare coincide cu
continutul introdus de utilizator al acestui element sau cu valoarea atributului value, daca
aceasta este precizata.
Daca utilizatorul nu introduce nimic in campul text, elementul respectiv al tablourilor
va avea valoarea NULL sau sirul vid.
In cazul unui element input de tip buton radio, conform modalitatii uzuale de folosire
a acestui tip, trebuie create in formular cel putin doua butoane cu nume (valoarile atributului
name) identice, dar cu valori (valorile atributului value) diferite.
Scriptul de prelucrare dispune in tablourile amintite de cate un element a carui cheie
coincide cu numele butonului radio si a carui valoare este egala cu valoarea butonului selectat
de utilizator.
Daca utilizatorul nu alege nici o optiune (adica nu este selectat nici un buton),
elementul respectiv va avea valoarea null.
In cazul unui element input de tip checkbox (caseta de validare), scriptul de prelucrare
dispune in tablourile amintite de cate un element a carui cheie coincide cu numele casetei
checkbox (valoarea atributului name) si a carui valoare este egala cu cea a atributului value al
casetei.
Daca utilizatorul nu selecteaza caseta, elementul respectiv va avea valoarea NULL.
Dupa cum se stie, pentru a verifica daca o variabila PHP are valoarea NULL, aceasta se
transmite ca argument functiei isset(). Functia va intoarce true, daca variabila are o valoare
diferita de null, si false, in caz contrar.

Elementul select
In cazul in care formularul include o lista de selectare, scriptul de prelucrare dispune
in tablourile amintite anterior de cate un element a carui cheie coincide cu numele elementului
select (valoarea atributului name al acestuia) si a carui valoare este egala cu cea a atributului
value al elementului option selectat de utilizator.



Elementul textarea
In cazul in care formularul include o caseta multiline, scriptul de prelucrare dispune in
tablourile $_GET si $_REQUEST (daca se utilizeaza metoda GET) si, respectiv, $_POST si
$_REQUEST (daca se utilizeaza metoda POST) de cate un element a carui cheie este egala cu
numele elementului textarea (valoarea atributului name al acestuia) si a carui valoare este un
sir care coincide cu textul introdus de utilizator in caseta. Daca utilizatorul nu introduce
nimic, valoarea respectiva va fi null.

Alte modalitati de trimitere a datelor
Datele incluse in campurile unui formular pot fi trimise scriptului de prelucrare si fara
apasarea unui buton de tip submit.
Procedeul presupune utilizarea unei modalitati de executie a metodei submit() a
obiectului Form(metoda JavaScript).

Exemplu (scriptul va fi salvat in fisierul culori.php):
<?php
if(!isset($_GET['culoare']))
$culoare="white";
else
$culoare=$ GET['culoare'];
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtmll-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Schimba culoarea de fundal</title>
</head>
<body bgcolor="<?php echo $culoare; ?>">
<form action="culori.php">
<select name="culoare" onChange="submit();">
<?php
echo "<option value=''></option>";
echo "<option value=\"red\"";
if($culoare=="red")
echo " selected=\"selected\"";
echo ">rosu</option>";
echo "<option value=\"yellow\"";
if ($culoare=="yellow")
echo " selected=\"selected\"";
echo ">galben</option>";
echo "<option value=\"green\"";
if($culoare=="green")
echo " selected=\"selected\"";
echo ">verde</option>";
echo "</select>";
?>
</form>
</body>
</html>
Odata cu selectia unei culori din lista oferita, se produce evenimentul JavaScript
onChange, care determina un apel al metodei submit() a obiectului Form.
Executia acestei metode determina trimiterea catre scriptul de prelucrare (aici tot
culori.php) a valorii elementului select (al carui atribut name are valoarea "culoare").
Aceasta este chiar valoarea atributului value al elementului option selectat. Culoarea
selectata va fi atribuita ca valoare variabilei $culoare prin intermediul elementului
$GET[culoare], care va fi in continuare pentru stabilirea culorii de fundal a paginii.
Modalitatea prezentata poate fi utilizata si in alte scopuri, ca, de exemplu, selectia si
transmiterea unei optiuni dintr-o lista de selectare, optiune care va fi utilizata in scriptul de
prelucrare drept cuvant-cheie pentru cautarea intr-o baza de date (intr-o aplicatie de comert
electronic).
Este posibil ca datele alese de client sa fie trimise pe server fara a se utiliza un
formular.
In acest caz, ele sunt adaugate, prin intermediul unei legaturi, URL-ului scriptului de
prelucrare, ca in exemplul urmator (salvat in fisierul culori2.php):
<?php
if(!isset($_GET ['culoare']))
$culoare="white";
else
$culoare=$_GET ['culoare'];
?>

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtmll-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Schimba culoarea de fundal</title>
</head>
<body bgcolor="<?php echo $culoare; ?>">
<a href="culori2.php?culoare=red"> Rosu</a><br />
<a href="culori2.php?culoare=yellow">
Galben</a><br />
<a href="culori2.php?culoare=green"> Verde</a><br
/>
</body>
</html>

Generarea dinamic a continuului
PHP ofera posibilitatea generarii dinamice a continutului afisat in browserul
utilizatorilor, prin intermediul unor instructiuni si functii.
Alaturi de XHTML, pot fi generate si alte formate textuale (XML), dar si formate de
alta natura (decat cele grafice).
In cazul celor mai multe formate, inainte de a se trimite browser-ului continutul
general dinamic, este necesar sa se trimita explicit acestuia prin intermediul functiei PHP
header(), un antet Content-Typecu o valoare corespunzatoare formatului.

Generarea dinamic a formatelor textuale
Dupa cum s-a putut constat deja, formatele textuale sunt generate prin intermediul
instructiunilor:
1. echo (numita si instructiune de reflectare)
2. print
Acestea pot fi utilizate si ca functii (echo() si print()).
Cea mai simpla modalitate de folosire a instructiunii echo consta in afisarea unui sir de
caractere, ca in urmatoarele exemple echivalente:
echo "PHP este cel mai utilizat server de aplicatii.";
echo ("PHP este cel mai utilizat server de aplicatii.");

Pot fi utilizate argumente multiple, separate prin virgula, dar numai cand echo se
foloseste ca instructiune:
echo "PHP este", " cel mai utilizat ", "server de aplicatii.";

Generarea formatului XHTML
Prin intermediul instructiunii echo poate fi generat dinamic orice marcaj/secventa
(X)HTML. In scopul mentionat, aceasta va fi inclusa intre ghilimele sau apostrofuri, ca in
exemplul urmator:
echo "<center><h2><b>Primul capitol</b></h2></center>";

Folosind echo sau print, pot fi afisate in browser valorile unor variabile, impreuna cu
date de tip sir de caractere sau marcaje (X)HTML, ca in exemplul urmator:
$temp=300;
echo "<b>Temperatura corpului este de $temp K.</b>";
// In browser se va afisa Temperatura corpului este de 300 K.
echo "<b>Temperatura corpului este de ".$temp." K.</b>";
// In browser se va afisa Temperatura corpului este de 300 K.

Argumentul primei instructiuni echo trebuie inclus obligatoriu intre ghilimele,
deoarece in acest caz - PHP evalueaza variabila $temp la valoarea sa (adica 300).
Daca s-ar fi folosit apostrofuri, PHP nu ar fi realizat evaluarea, si - in consecinta
browser-ul ar fi afisat sirul $temp.
Instructiunea print este similara cu echo, existand totusi cateva diferente:
1. echo accepta argumente multiple, in timp ce print accepta un singur
argument
2. echo nu intoarce nici o valoare, iar print intoarce valoarea 1, daca afisarea a
avut loc, si 0, in caz contrar
Aceasta permite, spre deosebire echo, ca instructiunea print sa fie utilizata in expresii
complexe.

Generarea formatului XML
Daca se doreste afisarea/utilizarea in browser a unui document XML generat dinamic
pe server, este necesar sa se trimita in prealabil navigatorului (folosind functia header()) un
antet Content-Type, a carui valoare trebuie sa fie text/xml sau application/xml, astfel:
header("Content-Type: text/xml");
header ("Content-Type: application/xml") ;

Generarea dinamic a formatelor grafice
Serverul de aplicatii PHP ofera posibilitatea generarii dinamice a imaginilor avand
diverse formate raster (GIF, PNG, JPEG), prin utilizarea unor functii incluse in biblioteca
grafica GD (Graphics Draw). Dupa crearea unei imagini raster, aceasta va fi salvata intr-un
fisier pe server sau trimisa browser-ului.
In ambele cazuri, se utilizeaza o functie (imageif(), imagepng(), imagejpeg()), care
permite, printre altele utilizarea formatului imaginii. Daca aceasta trebuie afisata in browser,
este necesar inainte de apelul uneia dintre functiile respective, sa se trimita un antet Content-
Type, care sa precizeze formatul imaginii.
De exemplu, daca imaginea este in format PNG, se va trimite antetul Content-Type cu
valoarea image/png header("Content-Type: image/png").

Utilizarea mecanismului output buffering
Scripturile PHP permit trimiterea catre client a unor anteturi HTTP (prin intermediul
functiei header()) sau a unor variabile cookie(folosind functia setcookie()). Acestea trebuie
trimise inaintea oricaror date (marcaje XHTML, linii vide sau date generate dinamic).
Mecanismul cunoscut sub numele de output buffering ofera posibilitatea trimiterii
anteturilor HTTP si a variabilelor cookie, chiar si dupa ce scriptul a inceput sa genereze date
de iesire (prin intermediul instructiunii echo). Acest lucru este posibil, deoarece datele sunt
pastrate in buffer-ul de iesire si trimise ulterior.
Activarea sau dezactivarea implicita a mecanismului amintit se realizeaza intermediul
directivei output_buffering, in php.ini (fisierul de configurare al PHP). Pentru activare, se
atribuie directivei o valoare, care fixeaza (in octeti) o limita superioara pentru buffer-ul de
iesire utilizat, ca in exemplul urmator:
output_buffering=4096

S-ar putea să vă placă și

  • Cap. 7 Surse Alimentare SSC
    Cap. 7 Surse Alimentare SSC
    Document20 pagini
    Cap. 7 Surse Alimentare SSC
    Octavian Enache
    Încă nu există evaluări
  • 1 Cursul 1
    1 Cursul 1
    Document11 pagini
    1 Cursul 1
    Octavian Enache
    Încă nu există evaluări
  • 91 Curs19 BD
    91 Curs19 BD
    Document26 pagini
    91 Curs19 BD
    Octavian Enache
    Încă nu există evaluări
  • 15 13 21 21arsenie Boca
    15 13 21 21arsenie Boca
    Document19 pagini
    15 13 21 21arsenie Boca
    Octavian Enache
    Încă nu există evaluări
  • 12 Cursul 12
    12 Cursul 12
    Document11 pagini
    12 Cursul 12
    Octavian Enache
    Încă nu există evaluări
  • 9 Cursul 9
    9 Cursul 9
    Document7 pagini
    9 Cursul 9
    Octavian Enache
    Încă nu există evaluări
  • 83 Curs11 BD
    83 Curs11 BD
    Document21 pagini
    83 Curs11 BD
    Octavian Enache
    Încă nu există evaluări
  • Cap.4. SSC Control Acces
    Cap.4. SSC Control Acces
    Document19 pagini
    Cap.4. SSC Control Acces
    Octavian Enache
    Încă nu există evaluări
  • Cap.4. SSC Control Acces
    Cap.4. SSC Control Acces
    Document19 pagini
    Cap.4. SSC Control Acces
    Octavian Enache
    Încă nu există evaluări
  • 6 Cursul 6
    6 Cursul 6
    Document11 pagini
    6 Cursul 6
    Octavian Enache
    Încă nu există evaluări
  • 6 Cursul 6
    6 Cursul 6
    Document11 pagini
    6 Cursul 6
    Octavian Enache
    Încă nu există evaluări
  • 11 Cursul 11
    11 Cursul 11
    Document15 pagini
    11 Cursul 11
    Octavian Enache
    Încă nu există evaluări
  • 7 Cursul 7
    7 Cursul 7
    Document9 pagini
    7 Cursul 7
    Octavian Enache
    Încă nu există evaluări
  • 11 Cursul 11
    11 Cursul 11
    Document15 pagini
    11 Cursul 11
    Octavian Enache
    Încă nu există evaluări
  • 4 Cursul 4
    4 Cursul 4
    Document18 pagini
    4 Cursul 4
    Octavian Enache
    Încă nu există evaluări
  • 3 Cursul 3
    3 Cursul 3
    Document17 pagini
    3 Cursul 3
    Octavian Enache
    Încă nu există evaluări
  • 7 Cursul 7
    7 Cursul 7
    Document9 pagini
    7 Cursul 7
    Octavian Enache
    Încă nu există evaluări
  • 2 Cursul 2
    2 Cursul 2
    Document14 pagini
    2 Cursul 2
    Octavian Enache
    Încă nu există evaluări
  • 12 Cursul 12
    12 Cursul 12
    Document11 pagini
    12 Cursul 12
    Octavian Enache
    Încă nu există evaluări
  • 5 Cursul 5
    5 Cursul 5
    Document16 pagini
    5 Cursul 5
    Octavian Enache
    Încă nu există evaluări
  • 9 Cursul 9
    9 Cursul 9
    Document7 pagini
    9 Cursul 9
    Octavian Enache
    Încă nu există evaluări
  • 10 Cursul 10
    10 Cursul 10
    Document16 pagini
    10 Cursul 10
    Octavian Enache
    Încă nu există evaluări
  • 8 Cursul 8
    8 Cursul 8
    Document4 pagini
    8 Cursul 8
    Octavian Enache
    Încă nu există evaluări
  • Diploma - WWW - Tocilar
    Diploma - WWW - Tocilar
    Document48 pagini
    Diploma - WWW - Tocilar
    Verhovetchi Anita
    Încă nu există evaluări
  • Sisteme de Pozitionare Localizare Indoor
    Sisteme de Pozitionare Localizare Indoor
    Document5 pagini
    Sisteme de Pozitionare Localizare Indoor
    Octavian Enache
    Încă nu există evaluări
  • Laboratoare TSDP
    Laboratoare TSDP
    Document33 pagini
    Laboratoare TSDP
    Octavian Enache
    Încă nu există evaluări
  • Curs 5 TSDP
    Curs 5 TSDP
    Document14 pagini
    Curs 5 TSDP
    Octavian Enache
    Încă nu există evaluări
  • 8 Cursul 8
    8 Cursul 8
    Document4 pagini
    8 Cursul 8
    Octavian Enache
    Încă nu există evaluări
  • Curs 4 TSDP
    Curs 4 TSDP
    Document17 pagini
    Curs 4 TSDP
    Octavian Enache
    Încă nu există evaluări
  • 7 Cursul 7
    7 Cursul 7
    Document9 pagini
    7 Cursul 7
    Octavian Enache
    Încă nu există evaluări