Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

Intr-un articol anterior am oferit un exemplu de utilizare al librariei CURL. O utilizare a librariei CURL, foarte utila, este trimiterea de informatii folosind protocolul HTTP POST. Spre deosebire de exemplul mentionat, apar doua optiuni noi care trebuie setate pentru a trimite datele prin POST: CURLOPT_POST, care spune numarul de variabile transmise si CURLOPT_POSTFIELDS care contine un string cu variabilele si valorile acestora.

Sa vedem un exemplu, ca e mai usor de inteles. Pentru un test practic avem nevoie de doua fisiere, unul care trimite datele (curl.php) si unul care primeste si proceseaza datele (post.php). In cazul nostru cele doua fisiere arata asa:
1. post.php – aici afisam continutul variabilei superglobale $_POST. Practic vom vedea variabilele transmise si valorile acestora intr-o forma usor de citit.

< ?php
print_r($_POST);
?>

2. curl.php – aici trimitem datele prin POST si afisam continutul returnat de fisierul post.php dupa procesare.

< ?php
// Afisam datele in mod text, ca sa fie usor de citit
header('Content-type:text/plain');
 
// URL-ul fisierului care asteapta datele
$url = 'http://www.lamp.ro/post.php';
 
// Un array continand trei variabile ce urmeaza a fi trimise
$vars = array('a'=>'aaa',
              'b'=>'bbb',
              'c'=>'ccc');
 
// Concatenam variabilele, separate de semnul &
foreach( $vars as $key=>$value ) {
    $string .= $key.'='.$value.'&';
}
 
// Initializam sesiunea si trimitem datele
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($vars));
curl_setopt($ch,CURLOPT_POSTFIELDS,$string);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
 
$result = curl_exec($ch);
curl_close($ch);
 
// Afisam rezultatul fisierului post.php
echo $result;
 
?>

Acum putem accesa fisierul curl.php prin browser. Cele trei variabile setate vor fi trimise fisierului post.php care le va afisa iar apoi curl.php, la randul sau, va afisa continutul generat de post.php 🙂

PHP

4 Responses so far.

  1. Desene online says:

    Mersi mult chiar interesant asteptam in contiunuare

  2. Sergiu Tot says:

    No problem. Daca te intereseaza ceva anume, trimite un mail la webmaster AT lamp PUNCT ro si spune-mi ce anume ai vrea sa mai citesti 🙂

  3. Stefan says:

    Util articolul postat Sergiu..multumim frumo s ca ne tii la curent! Multa bafta in continuare.

  4. iphonix says:

    asta p stiu de pe un site si am folosit-o la greu, aveam si o functie care verifica dac a curl e instalat

    acum vreau sa fac ceva asemanator, dar prin sockets … si e greu de tot