Hola chicos, quería ver si me pueden dar una mano con esto.
Estoy intentando enviar por CURL un archivo con metodo POST, les cuento el caso.
Lei varios códigos de la web incluso el aporte de @abimaelrc
aporte file_get_contents curl http_request. Pero no logro que se envié el archivo.
https://db.tt/ffxFeMlX
Este es mi código en el archivo que hace el CURL
Código PHP:
<?php
$ch = curl_init();
$img= "/var/www/html/mono.png";
$post = array('file' => '@'.$img);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, false);
curl_setopt($ch, CURLOPT_URL, 'http://localhost/TEST_CURL_UPLOAD.php');
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$r = curl_exec($ch);
print_r($r);
?>
y TEST_CURL_UPLOAD.php solo tiene:
Código HTML:
Ver original<?php
echo "<pre>";
print_r($_GET);
print_r($_POST);
print_r($_FILES);
?>
ahora para descartar, en el php.ini esta configurado para recibir archivos y el tamaño máximo (la imagen igual pesa 1.4k) y si a TEST_CURL_UPLOAD.php le envió el archivo por un <form> este me muestra el archivo en el
print_r($_FILE).
El archivo puede ser leído por apache:
Código BASH:
Ver original~ ls -l /var/www/html/mono.png
-rw-r--r-- 1 megui www-data 4271 Nov 18 12:16 /var/www/html/mono.png
En el log de apache nada.
Bueno muchas gracias por el tiempo de leer y saludos a la comunidad