Comunidad de diseño web y desarrollo en internet online

Ayuda con galeria de imagenes

Citar            
MensajeEscrito el 26 Ago 2011 07:24 pm
Tengo el siguiente codigo:

<?php
// Directorio del cuál vamos a extraer las imágenes
$path = $_SERVER["DOCUMENT_ROOT"]."/defensas/";
// Extracción de imágenes. Ver http://www.php.net/readdir
$dh = opendir($path);
$archivos = array();
while (($file = readdir($dh)) !== false) {
if($file != "." && $file != "..") {
if(substr($file, -4) == '.jpg') $archivos[] = $file;
}
}
closedir($dh);
sort($archivos);
//parte 1:
$total_imagenes=count($archivos);
$image_a_mostrar=1;
//estos valores los recibo por GET
if(isset($_GET['pag'])){
$imagen_a_empezar=($_GET['pag']-1)*$image_a_mostrar;
$imagen_a_terminar=$imagen_a_empezar+$image_a_mostrar;
$pag_act=$_GET['pag'];
//caso contrario los iniciamos
}else{
$imagen_a_empezar=0;
$imagen_a_terminar=$imagen_a_empezar+$image_a_mostrar;
$pag_act=1;
}

//parte 2: determinar numero de paginas
$pag_ant=$pag_act-1;
$pag_sig=$pag_act+1;
$pag_ult=$total_imagenes/$image_a_mostrar;
$residuo=$total_imagenes%$image_a_mostrar;
if($residuo>0) $pag_ult=floor($pag_ult)+1;
//parte 3: navegacion

?>

<img src="defensas/<?php echo $archivos[$imagen_a_empezar]?>" alt="" border="0" />
</td>
</tr>
<tr>
<td width="284" align="left" class="paginador"><?php echo "<strong> Código: D".$pag_act."</strong>"; ?>
</td>
<td width="390" align="left" class="flechas"><?php if($pag_act>1) echo "<a href=\"?pag=".$pag_ant."\" onclick=\"('$pag_ant')\" > <</a> ";

if($pag_act<$pag_ult) echo " <a href=\"?pag=".$pag_sig."\" onclick=\"('$pag_sig')\">> </a> "; ?>
<?php
$imagen_a_empezar++;

?>

Me muestra las imagenes de forma perfecta pero quiero que las muestre en un orden invertido, que me muestre primero la ultima imagen que subo. Que deberia cambiar en el
codigo, muchas gracias

Por Romi

40 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Ago 2011 07:48 pm
Tendrías que saber la fecha en que fue subida.
Aunque esa información la puedes sacar con la función filemtime(), es mejor si llevas la cuenta de los archivos de imágenes en una base de datos.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 26 Ago 2011 07:59 pm
gracias DriverOp, pero como seria el codigo para que las ordene? las imagenes estan numeradas se llaman foto_01.jpg, foto_02.jpg, foto_03.jpg ahora me muestra primero la 01 y yo quiero que me muestre primero la 03

Por Romi

40 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Ago 2011 09:24 pm
por lo visto en tu codigo ya usas la funcion sort por lo cual ya esta ordenado ahora si quieres empezar del ultimo usa krsort y con eso ya esta

http://es2.php.net/manual/en/function.krsort.php

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Ago 2011 11:54 pm
gracias tuadmin, ahora me muestra el ultimo en primer lugar pero no estan ordenados, me muestra foto_20.jpg, foto_15.jpg, foto_18.jpg

Por Romi

40 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.