Script para subir imágenes a un servidor externo

esedArk Seguir

Gamma
Programador
Verificación en dos pasos desactivada
Desde
23 Ene 2011
Mensajes
396
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 :p

pd: PHP: cURL - Manual
 

Conkerick

Delta
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
12 Jun 2010
Mensajes
616
Te falta una cabecera o indicar que el tipo de dato es "multipart/form-data".

Un saludo.
 

Conkerick

Delta
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
12 Jun 2010
Mensajes
616
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.
 

esedArk

Gamma
Programador
Verificación en dos pasos desactivada
Desde
23 Ene 2011
Mensajes
396
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
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba