Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/04/2012, 19:41
sir_alvarix
 
Fecha de Ingreso: abril-2008
Mensajes: 20
Antigüedad: 16 años, 10 meses
Puntos: 0
Ayuda_con_la_subida_de imagenes usando la API_PHP de Imgur

Hola gente, necesito que me echeis una mano: Estoy creando una aplicación web, y necesito subir una imagen y recoger su url directa, para lo que estoy usando Imgur con su [URL="http://api.imgur.com/"]API[/URL]

Necesito usar PHP porque tengo que tratar y almacenar otros datos también.

Mi problema es que al usar el ejemplo de la documentación de la API, no sé si me realiza la subida correctamente, ya que no me aparece nada en la respuesta, y según lo estoy ejecutando, creo que me debería mostrar a groso modo algo, aunque fuese ilegible, del xml.

Estos son mis archivos:


subir_photo.html

Código HTML:
.......

<form action="upload.php" method="post" id="photo-form" enctype="multipart/form-data" data-ajax="false" onSubmit="return FormUpload_Validator(this)">
        
      <div data-role="fieldcontain">
           <label for="title">Title:</label>
           <input type="text" name="title" id="title" value="" />
      </div>
            
      <div data-role="fieldcontain">
           <label for="city">City:</label>
           <input type="text" name="city" id="city" value="" />
      </div>
                    
      <div data-role="fieldcontain">
           <label for="image">Upload Image:</label>
           <input type="file" name="photo" id="photo" data-theme="b"/>
       </div>
                    
      <div data-role="fieldcontain">
           <input type="submit" value="Submit Form" data-theme="b" />
      </div>
                    
</form> 
upload.php

Código PHP:

echo $_POST["title"]; // Valor introducido Title
echo $_POST["city"]; // Valor introducido City
    
$filename $_FILES['photo']['tmp_name'];
echo 
$filename;
    
$handle fopen($filename"r");
$data fread($handlefilesize($filename));

// $data is file data
$pvars   = array('image' => base64_encode($data), 'key' => "xxxxxxxxx");
$timeout 30;
$curl    curl_init();

curl_setopt($curlCURLOPT_URL'http://api.imgur.com/2/upload.xml');
curl_setopt($curlCURLOPT_TIMEOUT$timeout);
curl_setopt($curlCURLOPT_POST1);
curl_setopt($curlCURLOPT_RETURNTRANSFER1);
curl_setopt($curlCURLOPT_POSTFIELDS$pvars);

$xml curl_exec($curl);

curl_close ($curl);
    
echo 
$xml;
echo 
"hola"
Resultado:

TitleCity/tmp/phpNZbbnK

(el echo "hola" tampoco llega a mostrarse)

¿Alguien me puede echar una mano por favor? Llevo todo el día intentando arreglarlo y necesito otros ojos que me ayuden a ver el problema...

Muchas gracias y saludos!!!

PD: He tenido que poner los guiones bajos en el título porque me salía un cartelito diciendo que pusiese un nombre al tema más descriptivo. Lo siento.

Última edición por sir_alvarix; 17/04/2012 a las 19:47