Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Shell Root en 8 Septiembre 2015, 03:43 am



Título: [DUDA] cURL subir imagen
Publicado por: Shell Root en 8 Septiembre 2015, 03:43 am
Tengo el siguiente problema, tengo que automatizar la subida de imagenes a un host, la petición que realiza es la siguiente:

POST:
Código:
-----------------------------14284656516611\r\n
Content-Disposition: form-data; name="Filedata"; filename="1.jpg"\r\n
Content-Type: image/jpeg\r\n
\r\n
˙Ř˙ŕ

Creo que usab UploadiFive, como le paso la ruta de la imagen? Trato de pasarsela en filename pero al tratar de subir sale un mensaje de error personalizado.


Título: Re: [DUDA] cURL subir imagen
Publicado por: T. Collins en 8 Septiembre 2015, 05:05 am
Código:
-F "Filedata=@/ruta/a/la/imagen.jpg"

Olvidalo, no había visto que era en PHP, lo que puse es por línea de comandos.


Título: Re: [DUDA] cURL subir imagen
Publicado por: Shell Root en 9 Septiembre 2015, 19:12 pm
Así es como intento pasarla pero dentro de la petición, es decir:

Código:
Content-Disposition: form-data; name="Filedata"; filename="@/ruta/a/la/imagen.jpg"\r\n

Pero no funciona :/


Título: Re: [DUDA] cURL subir imagen
Publicado por: MinusFour en 9 Septiembre 2015, 19:42 pm
Creo que puedes subir archivos con multipart/form-data asi:

Código
  1. //mime_types:
  2. //http://www.freeformatter.com/mime-types-list.html
  3. $ch = curl_init('http://www.url.com/'); //o tambien es valido CURLOPT_URL
  4. $cfile = new CURLFile('rutaAlArchivo','mime_type','nombreNuevoDelArchivo');
  5.  
  6. $data = array('campoArchivo' => $cfile);
  7. curl_setopt($ch, CURLOPT_POST,1);
  8. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

El ejemplo lo vine sacando de:

http://php.net/manual/en/curlfile.construct.php