Foros del Web » Programando para Internet » PHP »

Opendir / Readdir - Ver imagenes de un directorio

Estas en el tema de Opendir / Readdir - Ver imagenes de un directorio en el foro de PHP en Foros del Web. Amigos ¿Como Andan? Navegando por el foro encontré un script que permite visualizar las imagenes de un directorio, el problema es que si el directorio ...
  #1 (permalink)  
Antiguo 07/03/2011, 23:20
 
Fecha de Ingreso: noviembre-2010
Ubicación: Capital Federal, Buenos Aires
Mensajes: 60
Antigüedad: 13 años, 4 meses
Puntos: 0
Opendir / Readdir - Ver imagenes de un directorio

Amigos ¿Como Andan? Navegando por el foro encontré un script que permite visualizar las imagenes de un directorio, el problema es que si el directorio no existe emite un error del servidor ¿Como tendría que hacer para agregarle un Die o algun texto predeterminado?

El código es el siguiente:

Código PHP:
<?php
$dir 
opendir("./fotos/$_GET[id]/"); //    Abrimos el directorio de las fotos. 
$lista = array(); //    Creamos una array vacio. 
while($leer readdir($dir)) 

    
//    Obtenemos la extension. 
    
$ext end(explode(".",$leer)); 
    
//    Vamos llenando el array si son extensiones validas. 
    
if($ext == "gif" || $ext == "jpg"$lista[] .= $leer

//Cerramos el directorio. 
closedir($dir); 
//    Mezclamos aleatoriamente el array. 
shuffle($lista); 
//    Contamos el numero de fotos. 
$total count($lista); 
//    Para prevenir errores, si el numero de fotos a mostrar es mayor que las que hay 
//    mostramos las que hay. 
$num_images 25
if(
$total $num_images$num_images $total

//    Mostramos las fotos. 
for($i 0$i $num_images$i++) 

echo 
'<a href="fotos/'.$_GET[id]."/".$lista[$i].'" rel="facebox"><img src="fotos/'.$_GET[id]."/".$lista[$i].'" width="100px"/></a> '

?>
El thread original es: http://www.forosdelweb.com/f18/mostrar-x-imagenes-directorio-515976/


Gracias por la ayuda y el aguante!
  #2 (permalink)  
Antiguo 08/03/2011, 02:25
Avatar de sigher  
Fecha de Ingreso: enero-2011
Mensajes: 46
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Opendir / Readdir - Ver imagenes de un directorio

Comprueba primero si el directorio existe:
Código PHP:
$directorio "./fotos/$_GET[id]/";
if(
file_exists($directorio)){

//tu codigo

  #3 (permalink)  
Antiguo 08/03/2011, 03:16
 
Fecha de Ingreso: mayo-2010
Mensajes: 84
Antigüedad: 13 años, 10 meses
Puntos: 6
Respuesta: Opendir / Readdir - Ver imagenes de un directorio

Cita:
Iniciado por PxHx Ver Mensaje
Amigos ¿Como Andan? Navegando por el foro encontré un script que permite visualizar las imagenes de un directorio, el problema es que si el directorio no existe emite un error del servidor ¿Como tendría que hacer para agregarle un Die o algun texto predeterminado?

El código es el siguiente:

Código PHP:
<?php
$dir 
opendir("./fotos/$_GET[id]/"); //    Abrimos el directorio de las fotos. 
$lista = array(); //    Creamos una array vacio. 
while($leer readdir($dir)) 

    
//    Obtenemos la extension. 
    
$ext end(explode(".",$leer)); 
    
//    Vamos llenando el array si son extensiones validas. 
    
if($ext == "gif" || $ext == "jpg"$lista[] .= $leer

....
?>

Gracias por la ayuda y el aguante!
Hola, a ver si te ayudo en algo..
Revisa esta parte de tu código "if($ext == "gif" || $ext == "jpg") $lista[] .= $leer;"

No puedes concatenar un string en un array, tendrías que crear una variable que te sirva de contador e irlos almacenando de uno en uno, por ejemplo:
$con=0;
..
..
$lista[con] = $leer;
$con++;

o

un array_shift(), insertando los registros a la lista al principio.

Un saludo.
  #4 (permalink)  
Antiguo 08/03/2011, 06:09
 
Fecha de Ingreso: noviembre-2010
Ubicación: Capital Federal, Buenos Aires
Mensajes: 60
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Opendir / Readdir - Ver imagenes de un directorio

Mil gracias a los dos!, otra consulta y no molesto mas, en caso de querer mostrar todas las imagenes en una tabla por ejemplo 5 columnas 5 filas ¿Como tendría que hacer? ¿Y para que aparezca para eliminar cada una?


Muchas gracias a todos!

Última edición por PxHx; 08/03/2011 a las 06:56
  #5 (permalink)  
Antiguo 08/03/2011, 08:23
Avatar de sigher  
Fecha de Ingreso: enero-2011
Mensajes: 46
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Opendir / Readdir - Ver imagenes de un directorio

Muetras las imagenes con un while con la siguiente estrctura:

Pues puedes en lugar de meterla en una tabla, prueba a jugar son los DIVs mete cada imagen en un DIV con Float: left; todo englobado por un div "padre" de esta forma cada imagen se podrá al lado de otra y cuando en la fila no quepan más irá a la fila siguiente.
te adjunto un dibujo:

http://files.sigher.net/archive.php?url=4d763b3e





No se si me he explicado del todo...


En cuanto a lo de eliminar poner un enlace por ejemplo bajo cada imagen con un GET o POST a la misma web y que compruebe y elimine justo antes de cargar:
link similar a:
tuweb.com/tusimagenes.php?erase=ok&idimagen=23

justo al principio del codigo podrias hacer algo similar a:
Código PHP:
Ver original
  1. if (isset($_GET[erase])){
  2. //codigo para eliminar imagen
  3. delete (fila) where ID = $_GET[idimagen] // o algo similar}
  #6 (permalink)  
Antiguo 08/03/2011, 08:58
 
Fecha de Ingreso: noviembre-2010
Ubicación: Capital Federal, Buenos Aires
Mensajes: 60
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Opendir / Readdir - Ver imagenes de un directorio

Mil gracias sigher por la pronta respuesta, te comento que armé con divs y no aparecen en ilera, aparecen uno abajo del otro


el codigo que puse es:

<div>

///todo el codigo

Código PHP:
for($i 0$i $num_images$i++) 
{
echo 
'<div style="float:left">';
echo 
'<a href="fotos/'.$_GET[editar]."/".$lista[$i].'" rel="facebox"><img src="fotos/'.$_GET[editar]."/".$lista[$i].'" width="50px"/></a>'
echo 
'<div>';
}  
?> 
//todo el codigo

</div>
  #7 (permalink)  
Antiguo 08/03/2011, 09:04
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Opendir / Readdir - Ver imagenes de un directorio

Ponle un ; despues de left
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #8 (permalink)  
Antiguo 08/03/2011, 09:06
 
Fecha de Ingreso: noviembre-2010
Ubicación: Capital Federal, Buenos Aires
Mensajes: 60
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Opendir / Readdir - Ver imagenes de un directorio

Sigue igual muestra las imagenes una abajo de la otra
  #9 (permalink)  
Antiguo 08/03/2011, 09:17
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Opendir / Readdir - Ver imagenes de un directorio

Amigo y si le colocas alto y ancho a los divs ?

Código HTML:
<div style="float:left; width:auto; height:auto;">
</div> 
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #10 (permalink)  
Antiguo 08/03/2011, 09:17
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Opendir / Readdir - Ver imagenes de un directorio

Cita:
Iniciado por PxHx Ver Mensaje
Sigue igual muestra las imagenes una abajo de la otra
Define un ancho para los div (width:100px por ejemplo), si no lo haces, por default agarra todo el ancho de su contenedor, por eso salen uno debajo de otro aun con float:left
  #11 (permalink)  
Antiguo 08/03/2011, 09:47
 
Fecha de Ingreso: noviembre-2010
Ubicación: Capital Federal, Buenos Aires
Mensajes: 60
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Opendir / Readdir - Ver imagenes de un directorio

Muchas gracias a todos!, era cuestión de definirle el width para cada div.-


Un saludo grande!!!
  #12 (permalink)  
Antiguo 08/03/2011, 10:14
Avatar de sigher  
Fecha de Ingreso: enero-2011
Mensajes: 46
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Opendir / Readdir - Ver imagenes de un directorio

Al div q engloba a los otros divs ponle un ancho. 500px p.e. y a los hijos 98px.sino el navegador da por hecho que el div padre tiene el mismo ancho que los hijos. por eso sale uno bajo otro

Etiquetas: directorio, imagenes
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:11.