2016-01-27 4 views
1

Можно ли отправить изображение с CURL, которое выводится с помощью ImagePNG?Отправить изображение с CURL

ob_start(); 
imagepng(imagecreatetruecolor(800, 600)); 
$file = ob_get_clean(); 

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $remoteHost); 
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, [ 
    'file1' => ? 
]); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
$contents = curl_exec($curl); 
curl_close($curl); 

Спасибо!

ответ

0

Вам нужно просто поставить символ @ перед пути к файлу, и путь должен быть полным путем.

curl_setopt($curl, CURLOPT_POSTFIELDS, array(
    'file1' => '@' . '/var/tmp/img.png' 
)); 

Если запрос принимает изображение внутри тела POST в качестве исходных данных, что случай, вы можете просто поместить его внутри POST с упоминанием независимо от типа содержимого он требует.

$image_data = file_get_contents('/var/tmp/img.png'); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $image_data); 
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: text/plain')); // just an example 
Смежные вопросы