Foros del Web » Programando para Internet » PHP »

Enviar 2 imágenes con CURL

Estas en el tema de Enviar 2 imágenes con CURL en el foro de PHP en Foros del Web. Hola, bueno les comento mi duda. Tengo un formulario en form2.php Código HTML: <form method= "post" action= "form2.php" enctype= "multipart/form-data" > <input type= "hidden" name= ...
  #1 (permalink)  
Antiguo 03/06/2010, 15:26
 
Fecha de Ingreso: mayo-2006
Mensajes: 119
Antigüedad: 17 años, 10 meses
Puntos: 0
Exclamación Enviar 2 imágenes con CURL

Hola, bueno les comento mi duda.

Tengo un formulario en form2.php


Código HTML:
<form method="post" action="form2.php" enctype="multipart/form-data">
	<input type="hidden" name="from" value="" />
	<input type="text" name="email" value="" />	

	imagenes:
	<input type="file" name="img[]" /><br />
	<input type="file" name="img[]" /><br />

	<button   type="submit"> enviar </button>
</form> 

Para enviar los datos necesarios al formulario form2.php utilizando CURL uso:

Código PHP:
$url "http://www.servidor.com/form2.php";

$ch curl_init(); // Inicializo el handler de Curl  

curl_setopt($chCURLOPT_URL,$url); // Url a donde se va a postea.  
  
curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11'); //Seteo el user Agent en este caso es el navegador firefox 2  
  
curl_setopt($chCURLOPT_FAILONERROR1); //terminar en caso de error  
  
curl_setopt($chCURLOPT_FOLLOWLOCATION1);// Permitir Redirecciones  
  
curl_setopt($chCURLOPT_RETURNTRANSFER,1); // Retornar la pagina de resultados en una variable  
  
curl_setopt($chCURLOPT_TIMEOUT10); //timeout.  
  
curl_setopt($chCURLOPT_POST1); // SETEAR el Envio por POST  

curl_setopt($chCURLOPT_POSTFIELDS"from=alejandro&[email protected]"); // datos

$result curl_exec($ch); // Ejecutar el envio por post.  

curl_close($ch); // Cierro la consulta 


Ahora mi pregunta, como tengo que hacer para enviar las 2 imagenes (se encuentran en el mismo servidor)?


Desde ya muchas gracias.
Saludos!
  #2 (permalink)  
Antiguo 03/06/2010, 16:14
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Enviar 2 imágenes con CURL

Mira este ejemplo. El truco está en el @ indicado en el texto
Código PHP:
Ver original
  1. <?php
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL, "http://example.com/send_file.php");
  4. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  5. curl_setopt($ch, CURLOPT_POST, true);
  6. // lo mismo que <input type="file" name="nombre_del_input" />
  7. $post = array(
  8.     "nombre_del_input"=>"@C:/directorio/hacia/el/archivo.jpg",
  9. );
  10. curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  11. $response = curl_exec($ch);
  12. echo $response;
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 04/06/2010, 05:04
 
Fecha de Ingreso: mayo-2006
Mensajes: 119
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Enviar 2 imágenes con CURL

Hola, gracias por responder...

esto sería correcto?

Código PHP:

$post 
= array();
$post['img[]'] = "@img1.jpg"
$post['img[]'] = "@img2.jpg";

$url "http://www.servidor.com/form2.php";

$ch curl_init(); // Inicializo el handler de Curl  

curl_setopt($chCURLOPT_URL,$url); // Url a donde se va a postea.  
  
curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11'); //Seteo el user Agent en este caso es el navegador firefox 2  
  
curl_setopt($chCURLOPT_FAILONERROR1); //terminar en caso de error  
  
curl_setopt($chCURLOPT_FOLLOWLOCATION1);// Permitir Redirecciones  
  
curl_setopt($chCURLOPT_RETURNTRANSFER,1); // Retornar la pagina de resultados en una variable  
  
curl_setopt($chCURLOPT_TIMEOUT10); //timeout.  
  
curl_setopt($chCURLOPT_POST1); // SETEAR el Envio por POST  

curl_setopt($chCURLOPT_POSTFIELDS"from=alejandro&[email protected]&$post"); // datos

$result curl_exec($ch); // Ejecutar el envio por post.  

curl_close($ch); // Cierro la consulta 
  #4 (permalink)  
Antiguo 04/06/2010, 07:17
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Enviar 2 imágenes con CURL

Si la imagen está en el mismo directorio donde está el archivo de PHP sí. Si no pues tienes que indicar la ruta completa de donde está la imagen. Te recomiendo que ingreses la ruta absoluta, comenzando desde el directorio root como te indiqué en el ejemplo hasta donde se encuentra la imagen.
Código PHP:
Ver original
  1. $post = array(
  2.     "nombre_del_input"=>"@C:/directorio/hacia/el/archivo.jpg",
  3. );
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: curl, enviar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:19.