Ausführung von Curl mit PHP

Ich versuche, Docverter zu konvertieren, LaTeX/markdown-Dateien in PDF aber ich habe Probleme mit PHP CURL Zugriff auf Docverter über deren API. Ich bin weiß, ich bin nicht ein kompletter idiot b/c bekomme ich diese zu arbeiten, die Anpassung der shell-Skript in diesem Beispiel Docverter und laufen von der Befehlszeile (Mac OSX).

Durch die 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");

Dieser gibt keine Fehlermeldungen, funktioniert aber nicht. Ist es ein Pfad Problem irgendwo?

UPDATE Basierend auf @John ' s Vorschlag, hier ein Beispiel mit der PHP - curl_exec() angepasst hier. Leider ist dieser auch nicht funktioniert, aber zumindest gibt es Fehlermeldungen.

$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);
Haben Sie versucht, die shell_exec ?
-@Dainis, noch nicht, ich habe exec() an anderen Dingen zu arbeiten-und gebe zu, ich bin nicht sicher, der Unterschied mit shell_exec(). Der Grund, warum ich nicht wollen, dass es wie ein shell-Skript ist, weil die Dateinamen und-Pfade ändern wird, also muss ich die Variablen.
Warum spielst du nicht die curl-Funktionen für PHP, anstatt der exec?
ich würde gerne Verwendung der PHP - curl() ich war einfach nicht sicher, wie zu tun, dass entweder. Ich würde bekommen exec() arbeiten auf etwas anderes, so das ist, was ich begonnen habe. Könnten Sie eine Antwort mit curl()?
Blick auf die docs für curl_init, curl_setopt, curl_exec.

InformationsquelleAutor tim peterson | 2013-02-15

Schreibe einen Kommentar