Foros del Web » Programando para Internet » PHP »

Problema al cargar imágenes desde un directorio

Estas en el tema de Problema al cargar imágenes desde un directorio en el foro de PHP en Foros del Web. Buenas a tod@s, estoy trabajando con un ejercicio de PHP el cual sube imágenes a un directorio de mi PC. Hasta ahí bien, el problema ...
  #1 (permalink)  
Antiguo 20/01/2013, 06:18
Avatar de aalleexx81  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 14 años, 5 meses
Puntos: 0
Problema al cargar imágenes desde un directorio

Buenas a tod@s, estoy trabajando con un ejercicio de PHP el cual sube imágenes a un directorio de mi PC. Hasta ahí bien, el problema es que cuando intento mostrarlas, abriendo el directorio y recorriéndolo mostrando las img, no se visualizan en la página. Únicamente me aparecen los iconos indicando que hay una imagen pero no se visualizan dichas imágenes.

El código es el siguiente (muestro el código del script completo):

Código PHP:
<html>
<head>
<title>Mi album de fotografias</title>
</head>
<body>
<h1> Mi album de fotos en linea </h1>
<h3> Cargar archivo </h3>
<form action='<?php echo $_SERVER['PHP_SELF'?>' method="post" enctype="multipart/form-data">
<input type="file" name="archivo">
<input type="submit" name="submit" value="Cargar archivo">
</form>

<?php

$ruta
="C:/wamp/www/Ejemplos/Imagenes/"// Indicar ruta

if (isset($_FILES['archivo']) && $_FILES['archivo']['size'] > 0) {

    
$tamanyomax 200000// Indicar tamaño en bytes
    
$nombretemp $_FILES['archivo']['tmp_name'];
    
$nombrearchivo $_FILES['archivo']['name'];
    
$tamanyoarchivo $_FILES['archivo']['size'];
    
$tipoarchivo GetImageSize$nombretemp );

    if (
$tipoarchivo[2] == || $tipoarchivo[2] == 2){ //Gif o Jpg?

        
if ($tamanyoarchivo <= $tamanyomax) { // Archivo demasiado grande?
        
            
if (move_uploaded_file($nombretemp$ruta.$nombrearchivo)) {
                echo 
"<p>El archivo se ha cargado <b>con exito</b>.
                      Tamaño de archivo: <b>$tamanyoarchivo</b> bytes,
                      Nombre de imagen: <b>$nombrearchivo</b><br></p>"
;
            }
            else {
                echo 
"<p>No se ha podido cargar el archivo.</p>";
            }
        } 
        else{
            echo 
"<p>El archivo tiene mas de <b>$tamanyomax bytes</b> y es demasiado grande.</p>";
        }
    }
    else {
    
        echo 
"<p>No es un archivo GIF o JPG valido.</p>";
    }

    echo 
"<form action='{$_SERVER['PHP_SELF']}' method='post'>
        <input type='submit' value='OK'></form>"
;
}

$filehandle opendir($ruta); // Abrir archivos
    
    
while ($file=readdir($filehandle)) {
        
        if (
$file != "." && $file != "..") {
            
$tamanyo GetImageSize($ruta.$file);
            
//echo "$ruta$file<br>";
            
echo "<p><img src='$ruta$file' $tamanyo[3]><br></p>\n";
        }
    }

closedir($filehandle); // Fin lectura de archivos
?>
</body>
</html>
Entiendo que el problema viene en el trozo de código que abre los archivos y los visualiza:

Código PHP:
$filehandle opendir($ruta); // Abrir archivos
    
    
while ($file=readdir($filehandle)) {
        
        if (
$file != "." && $file != "..") {
            
$tamanyo GetImageSize($ruta.$file);
            
//echo "$ruta$file<br>";
            
echo "<p><img src='$ruta$file' $tamanyo[3]><br></p>\n";
        }
    }

closedir($filehandle); // Fin lectura de archivos 
pero no consigo ver por qué no me funciona.

Agradecería enormemente un poco de ayuda.

Muchas gracias de antemano a tod@s.

Un saludo.

Última edición por aalleexx81; 20/01/2013 a las 06:20 Razón: Error ortografía
  #2 (permalink)  
Antiguo 20/01/2013, 08:45
 
Fecha de Ingreso: enero-2010
Mensajes: 373
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Problema al cargar imágenes desde un directorio

Has comprobado la ruta?? si has comprobado que la imagen se sube al directorio debe ser que la ruta al mostrarla o algo no esta bien.

Si el script no te sube las imagenes al directorio, es problema del script que carga las imagenes.
  #3 (permalink)  
Antiguo 20/01/2013, 09:03
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Exclamación Respuesta: Problema al cargar imágenes desde un directorio

Déjame el siguiente output:

Código PHP:
echo "<p><img src='$ruta$file' $tamanyo[3]><br></p>\n"
Te agradezco. Quedo atento.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.
  #4 (permalink)  
Antiguo 20/01/2013, 09:51
Avatar de aalleexx81  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Problema al cargar imágenes desde un directorio

Las imágenes se suben al directorio de forma correcta, por lo que como indicaba en el mensaje inicial deduzco que el problema es en el código que muestra dichas imágenes.

JairLizcano ¿a qué te refieres con que te deje el siguiente output?

He imprimido las variables:

Código PHP:
echo "$ruta$file<br>";
echo 
$tamanyo[3]."<br>"
la salida es el siguiente:

C:/wamp/www/Ejemplos/Imagenes/boca_de_sauron.jpg
width="335" height="395"

Por lo que deduzco que todo está correcto, cuando selecciono con el ratón aparece el espacion en la página designada para la imagen pero no aparece la imagen.
  #5 (permalink)  
Antiguo 20/01/2013, 11:21
 
Fecha de Ingreso: enero-2010
Mensajes: 373
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Problema al cargar imágenes desde un directorio

Yo creo que es la ruta de la imagen, como tu lanzas la ruta de la imagen no te va a mostrar la imagen:


Tu ruta es:
Cita:
$ruta="C:/wamp/www/Ejemplos/Imagenes/";
Y deberia ser asi:

Cita:
$ruta="file:///C|/wamp/www/Ejemplos/Imagenes/";
  #6 (permalink)  
Antiguo 20/01/2013, 11:49
 
Fecha de Ingreso: mayo-2005
Mensajes: 217
Antigüedad: 18 años, 10 meses
Puntos: 5
Respuesta: Problema al cargar imágenes desde un directorio

yo creo que tu ruta esta mal, no deveria ser la url absolute sino la url relativa
$ruta="http://localhost/Ejemplos/Imagenes/";

pruebo algo como

echo "<p><img src='http://localhost/Ejemplos/Imagenes/$file' $tamanyo[3]><br></p>\n";

para subir las imagnes si debe hacerse por la absoluta, si escribes en tu navagador

http://localhost/Ejemplos/Imagenes/unaimagen.jpg deberias visualizarla
  #7 (permalink)  
Antiguo 20/01/2013, 16:20
Avatar de aalleexx81  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Problema al cargar imágenes desde un directorio

Finalmente he solucionado el problema creando otra variable para guardar la ruta relativa como comentaba klyfa.

Es decir:

Código PHP:
$rutamuestra "http://localhost/Ejemplos/Imagenes/"
Para después a la hora de recorrer el directorio y mostrar las imágenes el código quede de la siguiente forma:

Código PHP:
$filehandle opendir($ruta); // Abrir archivos
    
    
while ($file=readdir($filehandle)) {
        
        if (
$file != "." && $file != "..") {
            
$tamanyo GetImageSize($ruta.$file);
            echo 
"$ruta$file<br>";
            echo 
$tamanyo[3]."<br>";
            echo 
"<p><img src='$rutamuestra$file' $tamanyo[3]><br></p>\n";
        }
    }

closedir($filehandle); // Fin lectura de archivos
?> 
Mil gracias a los dos.

Un cordial saludo.

Etiquetas: directorio, html
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 08:31.