Convertir cURL de línea de comando a PHP cURL

Resuelto Brigante asked hace 54 años • 9 respuestas

Nunca antes había hecho rizos, así que necesito ayuda. ¡He tratado de resolver esto a partir de ejemplos, pero no puedo entenderlo!

Tengo un comando curl que puedo ejecutar con éxito desde una línea de comando de Linux (ubuntu) que coloca un archivo en una wiki a través de una API.

Necesitaría incorporar este comando curl en un script PHP que estoy creando.

¿Cómo puedo traducir este comando curl para que funcione en un script PHP?

curl -b cookie.txt -X PUT \
     --data-binary "@test.png" \
     -H "Content-Type: image/png" \    
     "http://hostname/@api/deki/pages/=TestPage/files/=test.png" \
     -0

cookie.txt contiene la autenticación, pero no tengo problemas para ponerlo en texto claro en el script, ya que solo lo ejecutaré yo.

@test.png debe ser una variable como $filename

http://hostname/@api/deki/pages/=TestPage/files/= debe ser una variable como $pageurl

Gracias por cualquier ayuda.

Brigante avatar Jan 01 '70 08:01 Brigante
Aceptado

un punto de partida:

<?php

$pageurl = "http://hostname/@api/deki/pages/=TestPage/files/=";
$filename = "test.png";

$theurl = $pageurl . $filename;

$ch = curl_init($theurl);
curl_setopt($ch, CURLOPT_COOKIE, ...); // -b
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); // -X
curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE); // --data-binary
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: image/png']); // -H
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); // -0

...
?>

Ver también: http://www.php.net/manual/en/function.curl-setopt.php

miku avatar Dec 21 '2009 11:12 miku

Necesitas ...

curl-a-PHP: https://incarnate.github.io/curl-to-php/

"Convierta instantáneamente comandos curl a código PHP"

kris avatar May 08 '2017 23:05 kris