Foros del Web » Programando para Internet » PHP »

Imagens una por una

Estas en el tema de Imagens una por una en el foro de PHP en Foros del Web. Hola, tengo el siguiente codigo: Código PHP: <? $ruta  =  "imagenes/" ;  // Indicar ruta $filehandle  =  opendir ( $ruta );  // Abrir archivos while ( $file  =  readdir ( ...
  #1 (permalink)  
Antiguo 18/10/2009, 01:11
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Imagens una por una

Hola, tengo el siguiente codigo:

Código PHP:
<?

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

closedir($filehandle); // Fin lectura archivos
?>
Es sencillo, el tema es que me muestra todas las imágenes a la ves, y lo que necesito es hacer un botón que diga "siguiente" y me muestre la otra imagen en el mismo lugar que la anterior... se entiende?...

de Antemano muchas gracias....!!!!!!!

Saludos a todos
fede
  #2 (permalink)  
Antiguo 18/10/2009, 10:35
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Imagens una por una

¿Pero no entiendo, quiere ver todas la images o una a una?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 18/10/2009, 11:00
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Imagens una por una

podrias guardar todas las rutas de imagenes en un array primero...
luego cargarlas con una variable por GET ej &photoid=1
entonces mostrarlas por ej asi:

<img src=\"$ruta.$file[$_GET['photoid']]\">

saludos... comenta tu resultado
  #4 (permalink)  
Antiguo 18/10/2009, 12:54
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Respuesta: Imagens una por una

Hola a todos, gracias por contestar..!!!

La idea es ver una por una, y no todas a ala ves,

Código PHP:
<img src="$ruta.$file[$_GET['photoid']]\"> 
En el código guardo todo en un array, y como hago para ver una imagen por ves?..

Gracias por contestar
saludos a todos
  #5 (permalink)  
Antiguo 18/10/2009, 12:57
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Imagens una por una

ejemplo...

URL: tuweb.com/index.php?id=1


$file = array("imagen1.jpg","imagen2.jpg");
echo "<img src=\"$ruta.$file[$_GET['id']]\" />
  #6 (permalink)  
Antiguo 18/10/2009, 13:31
Avatar de Animeonx  
Fecha de Ingreso: agosto-2009
Ubicación: Debajo de tu Cama
Mensajes: 56
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Imagens una por una

Que tal esto.

galeria.php
Código PHP:
<?
if(isset($_GET['id'])){
    
$id $_GET['id']; // Carga la key de la matriz de la URL
    
$directorio 'images/'// Directorio de las imagenes
    
$imagenesarray_values(array_diff(scandir($directorio), array('.','..'))); // Examina el directorio, elimina caracteres no deseados y resetea los keys.
    
$image $directorio.$imagenes[$id]; // Imprime directorio y nombre de la imagen, por ejemplo. "galeria/unaimagen.jpg"
}
?>
<img src="<?php echo $image ?>" />
En la url seria asi.
misitio.com/galeria.php?id=1

Si desconoces las funciones, no dudes en mirar la documentación de php.

---
Si lo que quieres es que se carguen dinámicamente ¿porque no utilizas AJAX?

Última edición por Animeonx; 18/10/2009 a las 13:41
  #7 (permalink)  
Antiguo 18/10/2009, 13:35
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Respuesta: Imagens una por una

Hola, gracias por la rapidez.

Tengo el siguiente código:

Código PHP:
<? 

$ruta 
"imagenes/"// Indicar ruta 
$filehandle opendir($ruta); // Abrir archivos 
while ($file readdir($filehandle)) { 
    if (
$file != "." && $file != "..") { 
     
        
$tamanyo GetImageSize($ruta $file); 
        echo 
"<p><img src='$ruta$file' $tamanyo[3]><br></p>\n"
    }  
}  
closedir($filehandle); // Fin lectura archivos 
?>
Para crear un array en este codigo de arriba seria asi?

$photo=array(



?php

Código PHP:
  $mis_photos = array( $ruta.$file
si eso esta bien todas las fotos las guarde en mi array "mis_photos", ahora necesito decirle con un botón, que foto quiero que se muestre.. , si la 1,2,3,4,5,.... osea un contador, pero while, me hace todo el bucle y me muestra todas a la ves,

y este codigo:
Código PHP:
echo "<img src=\"$ruta.$file[$_GET['id']]\" /> 
creo que lo que hace es contar cada vez que se actualiza la pagina, suma 1 a id.. esta bien eso?.. y si es asi donde lo aplico al codigo anterior..
y Muchas gracias por la rapidez de contestar y tomarte tu tiempo
saludos
  #8 (permalink)  
Antiguo 18/10/2009, 13:38
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Imagens una por una

para poner las variables en un array basta con poner un [] despues de la variable dentro del while... cambia el echo por una variable

while(){
$var[] = "<blabla>";
}
  #9 (permalink)  
Antiguo 18/10/2009, 14:24
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Respuesta: Imagens una por una

Bunenas, en este codigo que me pasaste:

Código PHP:
<?
if(isset($_GET['id'])){
    
$id $_GET['id']; // Carga la key de la matriz de la URL
    
$directorio 'images/'// Directorio de las imagenes
    
$imagenesarray_values(array_diff(scandir($directorio), array('.','..'))); // Examina el directorio, elimina caracteres no deseados y resetea los keys.
    
$image $directorio.$imagenes[$id]; // Imprime directorio y nombre de la imagen, por ejemplo. "galeria/unaimagen.jpg"
}
?>
<img src="<?php echo $image ?>" />
en el explorer, yo a mano le tengo que poner que sea =1, o a 2 etc, asi cambia la imagen, hay alguna forma de hacerlo con un boton?
y muchas gracias por el codigo..!!!

saludos
  #10 (permalink)  
Antiguo 18/10/2009, 14:29
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Imagens una por una

Código php:
Ver original
  1. <?php
  2. echo "<a href=\"tuweb.com?id=".($_GET[id]-1)."\">Atras</a>";
  3. echo "<a href=\"tuweb.com?id=".($_GET[id]+1)."\">Siguiente</a>";
  4. ?>
  #11 (permalink)  
Antiguo 18/10/2009, 22:16
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Respuesta: Imagens una por una

Hola, Hidek1.. funciona de maravillas ..!!!!

Necesito depurar lo un poco, porque si yo pongo 4 imágenes, y aprieto 10 veces en siguiente, el id=10, tengo que volver 6 veces para que me muestre la ultima foto, y al revés también empieza a contar el id en -1,-2etc.. puse un if pero no funciona, como se puede arreglar eso?..

Código PHP:
<?

if(isset($_GET['id'])){
    
$id $_GET['id']; // Carga la key de la matriz de la URL

    
$directorio 'imagen/'// Directorio de las imagenes
    
$imagenesarray_values(array_diff(scandir($directorio), array('.','..'))); // Examina el directorio, elimina caracteres no deseados y resetea los keys.
    
$image $directorio.$imagenes[$id]; // Imprime directorio y nombre de la imagen, por ejemplo. "galeria/unaimagen.jpg"
}
// echo "<p><img src='$ruta$file' $tamanyo[3]><br></p>\n";
    
if (id==-1) {
$id==1;
}
else
echo 
"<a href=\"imag1.php?id=".($_GET[id]-1)."\">Atras</a>";
echo 
"<a href=\"imag1.php?id=".($_GET[id]+1)."\">Siguiente</a>";
?>
<img src="<?php echo $image ?>" />
<body>
</body>
</html>
Muchas gracias a todos por su tiempo y paciencia, pero estoy empezando y me cuenta mucho les agradezco enserio..!!!
saludos
  #12 (permalink)  
Antiguo 18/10/2009, 23:20
Avatar de Animeonx  
Fecha de Ingreso: agosto-2009
Ubicación: Debajo de tu Cama
Mensajes: 56
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Imagens una por una

Calcula la logintud del array y utiliza condicionales.
count($array)

Código PHP:
<? 
if(isset($_GET['id'])){  // Solo se imprimira si la variable ID contiene algun valor. galeria.php?id=algunvalor
    
$id=$_GET['id']; // Carga la key de la matriz de la URL 
    
$directorio 'images/'// Directorio de las imagenes 
    
$imagenesarray_values(array_diff(scandir($directorio), array('.','..')));// Examina el directorio, elimina caracteres no deseados y resetea los keys. Ahora $imagenes es un array que contiene el nombre de cada imagen. 1=>imag.jpg, 2=>ima23.jpg etc.

    
$image $directorio.$imagenes[$id]; // Imprime directorio y nombre de la imagen, por ejemplo. "galeria/unaimagen.jpg"
    
echo '<img src="'.$image.'" /><br />'// Imprime la imgen.
    
    
if($id>0){ // Solo se imprimira si el ID es mayor a cero.
        
echo '<a href="galeria.php?id='.($id-1).'"><< Atras</a> | ';
    }
    if(
$id < (count($imagenes)-1)){ 
// Solo se imprimira si el ID es menor al total de imagenes menos 1, ya que no queremos que se muestre en la ultima imagen.
            
echo '<a href="galeria.php?id='.($id+1).'">Adelante >></a>';
    }
}
?>

Última edición por Animeonx; 19/10/2009 a las 01:11
  #13 (permalink)  
Antiguo 19/10/2009, 09:21
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
De acuerdo Respuesta: Imagens una por una

Chicos MUCHÍSIMAS gracias por la solución, he aprendido bastante

GRacias..!!!!

Animeonx - Hidek1 - Gracias por su tiempo..!!!



Saludos a todos
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 12:48.