Trimite variabile POST cu PHP
Trimiterea variabilelor GET este simpla, doar pui variabila in coada paginii ex: www.domeniu.ro?foo=bar. Dar cand vine vorba de variabile de tip POST treburile nu mai sunt usoare.
Din fericire PHP are o solutie pentru cam tot ce este nevoie, in acest caz cURL.
Problema: am nevoie sa trimit niste variabile POST catre un formular undeva pe net alaturi de un fisier, apoi trebuie sa prelucrez raspunsul.
Solutie:
-
avem nevoie sa ne asiguram ca extensia cURL este instalata, daca nu este instalata trebuie sa o instalam (mai multe detalii in manual).
-
trebuie sa stabilim ce variabile trebuie sa trimitem, sa luam ca exemplu variabilele “fisier” si “test”.
-
sa inceapa treaba:
1//calea catre fisier
2$file = "c:\htdocs\www\fisier.jpg";
3
4// variabilele care le vom trimite
5$data = array("fisier" => "@$file",
6 "test"=>"valoare");
7
8// se deschide o noua sesiune cURL
9$c = curl_init();
10
11// destinatia unde este prelucrat formularul
12curl_setopt($c, CURLOPT_URL, 'http://www.domeniu.ro/fisier-prelucrare.php');
13
14// metoda de trimitere a datelor
15curl_setopt($c, CURLOPT_POST, true);
16
17// datele de tip POST care se vor trimite
18curl_setopt($c, CURLOPT_POSTFIELDS, $data);
19
20// setare pentru ca rezultatul trimiterii sa fie intors intr-o variabila
21curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
22
23// aici se trimit efectiv datele
24$rezultat = curl_exec ($c);
25
26// se inchide sesiunea cURL
27curl_close ($c);
28
29// rezultatul trimiterii (ce va afisa pagina respectiva) se afisaza pe ecran
30echo $rezultat;
La final se va afisa rezultatul transmis de pagina spre care au fost trimis datele.
Asta e tot, simplu nu?