Как добиться загрузки изображения через cURL? Я использую Zamzar Sandbox API для преобразования PDF-файла в TXT-файл. Если я использую "https://s3.amazonaws.com/zamzar-samples/sample.pdf" путь PDF для $sourceFile variable
, то он работает нормально. Но если я использую системный путь" test.pdf ", то он не работает. Я пытался через curl_file_create
, но выдает следующую ошибку:
Исправимая фатальная ошибка: объект класса CURLFile не может быть преобразован в строку в строке.
Я использую PHP версии 7.3.0
<?php
error_reporting(E_ALL);
$endpoint = "https://api.zamzar.com/v1/jobs";
$apiKey = "GiVUYsF4A8ssq93FR48H";
$sourceFile = "https://s3.amazonaws.com/zamzar-samples/sample.pdf";//new CurlFile("test.pdf");
$targetFormat = "txt";
$postData = array(
"source_file" => $sourceFile,
"target_format" => $targetFormat
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $endpoint);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERPWD, $apiKey . ":");
$body = curl_exec($ch);
curl_close($ch);
$response = json_decode($body, true);
echo "Response:\n---------\n";
echo"<pre>";
print_r($response);
?>
Response: ---------
Array
(
[id] => 8442473
[key] => GiVUYsF4A8ssq93FR48H
[status] => initialising
[sandbox] =>
[created_at] => 2019-11-12T10:35:01Z
[finished_at] =>
[import] => Array
(
[id] => 671784
[url] => https://s3.amazonaws.com/zamzar-samples/sample.pdf
[status] => initialising
)
[target_files] => Array
(
)
[target_format] => txt
[credit_cost] => 0
)
Приведенный выше пример также дает мне вывод. Если я заменю amazonaws
с system path
, то он не даст никакого ответа.