Foros del Web » Programando para Internet » PHP »

Subir imagen a imageshack

Estas en el tema de Subir imagen a imageshack en el foro de PHP en Foros del Web. Hola a todos, Aunque preguntar cosas de apis y codigos prefabricados sea un poco bestia lo hago, pues llevo como cuatro horas buscando y buscando ...
  #1 (permalink)  
Antiguo 11/08/2011, 17:37
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Subir imagen a imageshack

Hola a todos,

Aunque preguntar cosas de apis y codigos prefabricados sea un poco bestia lo hago, pues llevo como cuatro horas buscando y buscando y probando y es desesperante.

El caso es que estoy buscando un ejemplo que funcione que suba imagenes a IMAGESHACK desde un formulario con un campo FILE, por medio de PHP y CURL.

¿Conoceis algun script?, he leido las 10 primeras paginas de google y nada, casi todo son gente preguntando sobre un por que les dan errores.

Alguien me echa una mano?... se que parezco gruñon... ufff... :P.
  #2 (permalink)  
Antiguo 11/08/2011, 18:02
Avatar de jamesjara  
Fecha de Ingreso: mayo-2008
Ubicación: san jose
Mensajes: 449
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: Subir imagen a imageshack

GOOGLE CODE : http://code.google.com/p/imageshackapi/wiki/
__________________
X7CLOUD El webservice latino!
Compatible
con mysql,sql,sqlitte.
Compatible con extjs , sencha , smargwt, Gwt , Jquery , Charts, Streaming.
  #3 (permalink)  
Antiguo 11/08/2011, 19:12
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Subir imagen a imageshack

Hola,

Ya me habia leido la api... :P. El problema es que por mucho que pruebo codigos en todos me salta este error:

Sorry, but we've detected that unexpected data is received. Required parameter 'fileupload' is missing or your post is not multipart/form-data

Error del que habla medio internet que trata la api de imageshack. He probado tantos codigos que no creo que me solucione el problema un link. :P

¿Alguien ha usado la api de imageshack con buenos resultados por medio de un upload y no con url?
  #4 (permalink)  
Antiguo 11/08/2011, 19:49
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Subir imagen a imageshack

y cual es el problema de subir las imágenes a imageshack? Tienes que conseguir un código de API en la página que te dieron y hacer un formulario de este tipo:

Código HTML:
Ver original
  1. <form method="post" enctype="multipart/form-data"
  2.      action="http://www.imageshack.us/upload_api.php">
  3.     <p><input type="file" name="fileupload"></p>
  4.     <p><input type="text" name="tags" value="proba,test"></p>
  5.     <p><input type="text" name="key" value="AQUI CODIGO API"></p>
  6.     <p><select name="optsize">
  7.             <option value="320x240">Small (320x240)</option>
  8.             <option value="426x320" selected>Medium (426x320)</option>
  9.             <option value="640x480">Big (640x480)</option>
  10.         </select></p>
  11.     <p><input type="submit" value="Subir"></p>
  12. </form>

Para poder ver las imágenes necesitas estar registrado en Imageshack una tonta política ya cuándo subas la imagen con todo lo que explican en la API necesitas obtener toda la información del XML que genera upload_api.php

PD: todos los ejemplos que conozco con cURL son muy viejos y imageshack ha cambiado mucho.

Mira este link a ver si te ayuda:

http://www.humbug.in/stackoverflow/es/parsing-el-dato-regresado-de-imageshack-api--4105460.html
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 12/08/2011, 15:26
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Subir imagen a imageshack

Hola de nuevo,

Gracias por el link andresdzphp, he probado el codigo del link, y sopresa me da un error que aun no habia visto:

Wrong file type detected for file php5xwsj3:application/octet-stream

¿Sabeis cual es la razon?... por si las moscas os pongo el codigo que he usado:

Código PHP:
Ver original
  1. <?php
  2.  
  3.     $data['key'] = "xxx";
  4.     $data['public'] = "yes";
  5.     $data['email']      = "[email protected]";
  6.     $data['rembar']     = "yes";
  7.     $data['xml'] = "yes";
  8.     $data['fileupload'] ='@'.$_FILES["image"]['tmp_name'];
  9.     $curl = curl_init();
  10.     curl_setopt($curl, CURLOPT_URL, 'http://www.imageshack.us/upload_api.php');
  11.     curl_setopt($curl, CURLOPT_POST, true);
  12.     curl_setopt ( $curl , CURL_HTTPHEADER , "Content-type: ".$_FILES['image']['type']."" );
  13.     curl_setopt($curl, CURLOPT_HEADER, false);
  14.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  15.     /*curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);*/
  16.     curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
  17.     $result = curl_exec($curl);
  18.     echo  $result;
  19.     curl_close($curl);
  20. ?>

He probado a indicar el type de la imagen en el mismo "$data['fileupload']" con "';type='.$_FILES['image']['type']", pero tampoco da resultado.

Uff... lo mas raro es que no veo gran cosa en Google sobre la api de Imageshack... con el gran servicio que es. Todo son preguntas por todas partes.

Ya no se que pensar... ya no se ni cuantas horas para 20 lineas de codigo.

Alguien sabe?
  #6 (permalink)  
Antiguo 12/08/2011, 21:02
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Subir imagen a imageshack

Hola de nuevo a todos!...

Por fin he logrado enviar una foto, bufff... parezco imbecil. El caso es que al estar en la carpeta tmp el servirdor oculta la extension de la imagen y IMAGESHACK no reconoce el tipo de archivo que envias, aunque se lo indiques... asi que lo que hay que hacer es renombrar al archivo tmp.

Muchas gracias a todos!.
  #7 (permalink)  
Antiguo 12/08/2011, 21:16
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Subir imagen a imageshack

Hola, deberías postear el código que utilizaste, para que alguien con el mismo problema llega, tenga una posible solución

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #8 (permalink)  
Antiguo 12/08/2011, 23:56
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Subir imagen a imageshack

Hola de nuevo...

Aqui va el codigo:

Código PHP:
Ver original
  1. $data['key'] = "clave";
  2.    
  3.     $data['public'] = "yes";
  4.     $data['public'] = "yes";
  5.     $data['email']      = "email";
  6.     $data['a_username']      = "user";
  7.     $data['a_password']      = "password";
  8.     $data['rembar']     = "yes";
  9.     $data['xml'] = "yes";
  10.     //new name:
  11.        
  12.     $new_name=carpetatemporal.''.$usuario.'_'.date("Y-m-d_G-i-s").'_'.uniqid().'.jpg';
  13.     echo $_FILES['image']['tmp_name'].'<hr/>';
  14.     if (move_uploaded_file($_FILES['image']['tmp_name'],$new_name))
  15.         {
  16.             $data['fileupload'] ='@'.$new_name.'';
  17.             echo $new_name.'<hr/>';
  18.  
  19.         }
  20.     else
  21.         {
  22.             echo "El archivo no se pudo cargar en el servidor.<hr/>";
  23.         }
  24.     $curl = curl_init();
  25.     curl_setopt($curl, CURLOPT_URL, 'http://www.imageshack.us/upload_api.php');
  26.     curl_setopt($curl, CURLOPT_POST, true);
  27.     curl_setopt($curl,CURLOPT_USERAGENT,"Mozilla/4.0");
  28.     curl_setopt ( $curl , CURL_HTTPHEADER , "Content-type: ".$_FILES['image']['type']."" );
  29.     curl_setopt($curl, CURLOPT_HEADER, false);
  30.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  31.     /*curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);*/
  32.     curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
  33.     $result = curl_exec($curl);
  34.      $error = curl_error($curl);
  35.     echo  $result;
  36.     echo $error;
  37.     curl_close($curl);

Esta muy pero que muy poco trabajado... pero tengo sueño...

Hasta pronto!!

Etiquetas: imagenes, imageshack, formulario
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:01.