У меня была проблема, когда я пытался отправить большой файл PDF (42 МБ). Имеет ли API ограничение на получение файла?
Мой код:
$filename_pdf = $_SERVER['DOCUMENT_ROOT'] . '/test/test_pdf_2.pdf';
$fh_res = fopen($filename_pdf, 'r');
$login = '******';
$password = '*********';
$url = 'http://do.convertapi.com/Pdf2Image';
// Create a CURLFile object
$cfile = new CURLFile($filename_pdf, 'application/pdf', 'test_pdf_2.pdf');
$data = array(
'File' => $cfile,
'OutputFormat' => 'jpg',
'ApiKey' => '******',
'StoreFile' => 1,
'Timeout'=>'1200'
);
$process = curl_init($url);
curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
curl_setopt($process, CURLOPT_INFILESIZE, filesize($filename_pdf));
curl_setopt($process, CURLOPT_INFILE, $fh_res);
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_USERPWD, $login . ":" . $password);
curl_setopt($process, CURLOPT_TIMEOUT, 600);
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_POSTFIELDS, $data);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($process);
curl_close($process);
Мой код работает с небольшими файлами. Имеет ли API ограничение на получение файла?
Есть некоторые ограничения. В вашем файле php.ini вы можете найти значения. Непосредственно заинтересованными являются:
Вы можете проверить значения с phpinfo()
и просто поменяй их. Вот как можно изменить свою конфигурацию:
http://php.net/manual/en/configuration.changes.php
Все это наверняка относится только к вашему серверу. Вы не можете проверить настройки другого сервера, поэтому вполне возможно, что вызываемая конечная точка заблокирует большие файлы.
Вы можете проверить в своем
php.ini
файлы для строк ниже.
upload_max_filesize: Максимально допустимый размер загружаемых файлов
post_max_size: Максимальный размер данных POST, которые примет PHP
max_execution_time: Максимальное время выполнения каждого скрипта в секундах
file_uploads: Разрешить ли загрузку файлов HTTP
max_input_time: Максимальное количество времени, которое каждый скрипт может потратить на анализ данных запроса
memory_limit: Максимальный объем памяти, который может потреблять скрипт
Установите желаемые значения для вышеуказанных строк. Это исправит вашу проблему.