Problema subiendo imágenes a servidor externo, ayuda necesaria

  • Autor Autor esedArk
  • Fecha de inicio Fecha de inicio
esedArk

esedArk

Gamma
Programador
Buenas gente, llevo 2 días liado con un tema de imágenes... especialmente subirlas a un servidor externo que no sea el mio

os cuento, funciona todo menos a la hora de subir la imagen (sube el titulo, las passwords etc... pero la foto no la detecta...)

PHP:
$url = 'http://www.EJEMPLO.com';
   
 $params = array(
				 'categoria_id' => '343',
				 'subcategoria_id' => '386',
				 'provincia_id' => $provincia_id,
				 'localidad_id' => $row['A'],
				 'title' => $titulo[0],
				 'description' => $texto_mensaje[0],
				 'price' => '0',
				 'login_email' => $email[0],
				 'login_password1' => $password,
				 'login_password2' => $password,
				 'photo_1' => '@ruta_de_mi_imagen.jpg'
);
   

   $user_agent = "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)";
   $ch = curl_init();   

   curl_setopt($ch, CURLOPT_POST,1);
   curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
   curl_setopt($ch, CURLOPT_URL,$url);
   curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);


   $result = curl_exec ($ch);
   curl_close ($ch);
   print_r($result);
   print_r($params);

Porfavor ya que llego 2 dias liado con el tema un poco de ayuda 😛

pd: PHP: cURL - Manual
 
Te falta una cabecera o indicar que el tipo de dato es "multipart/form-data".

Un saludo.
 
Ahá conkerick como puedo hacer eso?


Gracias un saludo
 
Hola esedArk, probé tú código añadiendo lo que te dije y me funciona, perfectamente:

PHP:
$url = 'http://www.mp3xd.com/test.php';
   $user_agent = "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)";
   $ch = curl_init();   
   curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
   curl_setopt($ch, CURLOPT_POST,1);
   curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
   curl_setopt($ch, CURLOPT_URL,$url);
   curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);


   $result = curl_exec ($ch);
   curl_close ($ch);
   print_r($result);

Tienes que colocar la ruta absoluta hacia la imagen, para que pueda funcionar. Testea haciendo un print_r($_FILES) en el archivo destino.

Un saludo.
 
Conkerick con ruta absoluta te refieres a ->

'photo_1' => '/home/jmqstynv/public_html/camion_telefonos_bcn.JPG' ?

porque no me funciona y si pongo la @ delante directamente no funciona ni el script
 
Atrás
Arriba