Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/06/2008, 14:44
Winsatan
 
Fecha de Ingreso: octubre-2004
Mensajes: 7
Antigüedad: 19 años, 7 meses
Puntos: 0
Sonrisa Imagen al azar sin repetir

Hola a todos:

El siguiente código muestra una imagen aleatoria cada vez que, por ejemplo, actualizamos la página. Mi intención es que no repita las imágenes, es decir, que cuando muestra una imagen, al actualizar la web, no me muestre la misma, sino otra distinta.

Os dejo el código para ver si lo podéis modificar y ayudarme con este tema:

Código PHP:
<?php
// no direct access
defined'_VALID_MOS' ) or die( 'Restricted access' );

global 
$mosConfig_absolute_path$mosConfig_live_site;

$type $params->get'type''jpg' );
$folder $params->get'folder' );
$link $params->get'link' );
$width $params->get'width' );
$height $params->get'height' );
$the_array = array();
$the_image = array();

// if folder includes livesite info, remove
if ( strpos($folder$mosConfig_live_site) === ) {
$folder str_replace$mosConfig_live_site''$folder );
}
// if folder includes absolute path, remove
if ( strpos($folder$mosConfig_absolute_path) === ) {
$folderstr_replace$mosConfig_absolute_path''$folder );
}
// if folder doesnt contain slash to start, add
if ( strpos($folder'/') !== ) {
$folder '/'$folder;
}
// construct absolute path to directory
$abspath_folder $mosConfig_absolute_path $folder;

// check if directory exists
if (is_dir($abspath_folder)) {
if (
$handle opendir($abspath_folder)) {
while (
false !== ($file readdir($handle))) {
if (
$file != '.' && $file != '..' && $file != 'CVS' && $file != 'index.html' ) {
$the_array[] = $file;
}
}
}
closedir($handle);

foreach (
$the_array as $img) {
if (!
is_dir($abspath_folder .'/'$img)) {
if (
eregi($type$img)) {
$the_image[] = $img;
}
}
}

if (!
$the_image) {
echo 
_NO_IMAGES;
} else {
$i count($the_image);
$random mt_rand(0$i 1);
$image_name $the_image[$random];
$abspath_image $abspath_folder '/'$image_name;
$size getimagesize ($abspath_image);

if (
$width == '') {
(
$size[0] > 100 $width 100 $width $size[0]);
}
if (
$height == '') {
$coeff $size[0]/$size[1];
$height = (int) ($width/$coeff);
}

$image $mosConfig_live_site $folder .'/'$image_name;
?>
<div align="center">
<?php
if ($link) {
?>
<a href="<?php echo $link?>" target="_self">
<?php
}
?>
<img src="<?php echo $image?>" border="0" width="<?php echo $width?>" height="<?php echo $height?>" alt="<?php echo $image_name?>" /><br />
<?php
if ($link) {
?>
</a>
<?php
}
?>
</div>
<?php
}
}
?>
Muchas gracias y espero haberme explicado correctamente.