Ce face curl_file_create
Forma de funcție pentru new CURLFile(...). Obiectul se pune ca valoare în tabloul dat lui CURLOPT_POSTFIELDS, iar cURL trimite cererea ca multipart/form-data, exact ca un formular HTML cu câmp de fișier.
Poți seta tipul MIME și numele cu care apare fișierul la server, independent de numele de pe disc.
Parametri
| Parametru | Descriere |
|---|---|
$filename |
Calea fișierului de pe disc. |
$mime_type |
Opțional. Tipul MIME, de exemplu "application/pdf". |
$posted_filename |
Opțional. Numele trimis serverului. |
Ce returnează
Un obiect CURLFile.
Exemple
Exemplul 1: Obiectul creat
<?php
file_put_contents("cv.pdf", "%PDF-1.4 test");
var_dump(curl_file_create("cv.pdf", "application/pdf", "CV Ana Popescu.pdf"));
Rezultat
object(CURLFile)#1 (3) {
["name"]=>
string(6) "cv.pdf"
["mime"]=>
string(15) "application/pdf"
["postname"]=>
string(18) "CV Ana Popescu.pdf"
}
Exemplul 2: Încărcarea unui fișier
<?php
file_put_contents("cv.pdf", "%PDF-1.4 test");
$ch = curl_init("https://httpbin.org/post");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => [
"nume" => "Ana Popescu",
"cv" => curl_file_create("cv.pdf", "application/pdf", "CV Ana Popescu.pdf"),
],
]);
$raspuns = json_decode(curl_exec($ch), true);
echo $raspuns["form"]["nume"] . "\n";
echo substr($raspuns["files"]["cv"], 0, 8);
Rezultat real (necesită conexiune la internet)
Ana Popescu
%PDF-1.4
Greșeli frecvente
- Folosești sintaxa veche
"@/cale/fisier.pdf"înCURLOPT_POSTFIELDS. A fost eliminată; textul este trimis ca atare. FoloseșteCURLFile.
Comenzi înrudite
curl_setopt_array: Setează mai multe opțiuni cURL dintr-o dată, dintr-un tablou. Codul devine mai scurt și mai ușor de citit.curl_init / curl_setopt / curl_exec: Pregătește o cerere HTTP către alt server, de exemplu un API. Împreună cu curl_setopt și curl_exec, trimite cererea și primește răspunsul.