Я пытаюсь использовать Docverter для преобразования файлов LaTeX / markdown в PDF, но у меня возникают проблемы с использованием PHP для работы CURL для доступа к Docverter через их API . Я знаю, что я не полный идиот. B / ci может заставить это работать, адаптируя сценарий оболочки в этом примере Docverter и работая из командной строки (Mac OSX).
Использование PHP exec()
:
$url=$_SERVER["DOCUMENT_ROOT"]; $file='/markdown.md'; $output= $url.'/markdown_to_pdf.pdf'; $command="curl --form from=markdown \ --form to=pdf \ --form input_files[]=@".$url.$file." \ http://c.docverter.com/convert > ".$output; exec("$command");
Это не дает сообщений об ошибках, но не работает. Есть ли проблема?
ОБНОВЛЕНИЕ. Основываясь на предложении @ John, вот пример использования curl_exec()
PHP, который был curl_exec()
здесь . К сожалению, это также не работает, хотя, по крайней мере, оно дает сообщения об ошибках.
$url = 'http://c.docverter.com/convert'; $fields_string =''; $fields = array('from' => 'markdown', 'to' => 'pdf', 'input_files[]' => $_SERVER['DOCUMENT_ROOT'].'/markdown.md', ); //url-ify the data for the POST foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } rtrim($fields_string, '&'); //open connection $ch = curl_init(); //set the url, number of POST vars, POST data curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_POST, count($fields)); curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string); //execute post $result = curl_exec($ch); //close connection curl_close($ch);