PHP - upload souboru CURLFile object přes REST API

PHP - upload souboru CURLFile object přes REST API

Dobrý den, nedaří se mi zprovoznit upload souboru přes REST API (CURL) na jeden portál, ta položka se v poli jmenuje takto:

[pdf] => CURL FILE OBJECT MIME: application/pdf;

Když tam pošlu přímo funkční cestu na soubor (bez i s @):

'pdf' => '@' . $soubor,

Tak to stále dokola hlásí, že se upload nepovedl...

Zakopaný pes bude patrně v tom, že se musí jednat o jakýsi objekt typu "CURL FILE OBJECT" (CURLFile object) a já nevím jak na to. Poradíte někdo? Díky

ODPOVĚĎ


Dobrý den,



pro vytvoření CURLFile object pro REST API musíte použít PHP funkci curl_file_create:

curl_file_create ( $filename , $mimetype , $postname ),

ve Vašem případě by to bylo zjednodušeně takto:





$arg['soubor'] = curl_file_create($soubor, 'application/pdf', $soubor);

$array = [
'pdf' => $arg['soubor'],
]
Jak se ti článek líbil?

Komentáře (2)

Miko
Ahoj,

potřeboval bych se připojit na api pomocí curl v linuxu. Autorizace se provádí v hlavičce pomocí x-api-key. Jak to v terminálu provedu? Díky



Hanz
Ahoj,

curl requrest s autorizací v hlavičce pomocí x-api-key můžes poslat takto:


linux
---------------
curl https://www.up4.cz/ -H "x-api-key: xxxxxxxxx"


php
---------------
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.up4.cz');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$headers = [
'x-api-key: xxxxxxx '
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
curl_close($ch);
print $response;

Přidat komentář