L'exécution de Curl avec PHP

Je suis en train d'utiliser Docverter pour convertir LaTeX/markdown des fichiers au format PDF mais j'ai du mal à l'utiliser PHP pour faire du ROULAGE pour accéder à Docverter via leur API. Je suis sais que je ne suis pas stupide en b/c je peux obtenir que cela fonctionne en adaptant le script shell dans ce Docverter exemple et en cours d'exécution en ligne de commande (Mac OSX).

Aide de 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");

Cela donne pas de message d'erreur, mais ne fonctionne pas. Est-il un problème de chemin d'accès quelque part?

Mise à JOUR @Jean suggestion, voici un exemple d'utilisation de PHP curl_exec() adapté de ici. Malheureusement, cela ne fonctionnera pas non plus mais au moins il donne des messages d'erreurs.

$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);
Avez-vous essayé shell_exec ?
-@Dainis, pas encore, j'ai pris de l' exec() travailler sur d'autres choses et admettre que je ne suis pas sûr de la distinction avec shell_exec(). La raison pour laquelle je ne veux pas exécuter un script shell est parce que les noms de fichiers et les chemins d'accès va changer donc j'ai besoin de ces être variables.
Pourquoi ne pas vous utiliser la boucle de fonctions écrites pour PHP au lieu de exec?
je serais heureux de PHP curl() que je n'étais pas sûr de la façon de faire qui soit. J'étais arrivé exec() de travailler sur autre chose si c'est ce que j'ai commencé avec. Pourriez-vous fournir une réponse à l'aide de curl()?
Regarder les docs pour curl_init, curl_setopt, curl_exec.

OriginalL'auteur tim peterson | 2013-02-15