因为我无法在任何地方找到答案,也许其他人也对此感到不安。 我想使用backstretch文件夹中的随机图像而不指定之前的图像。我不擅长PHP,所以有人可以告诉我如何做到这一点,我相信它会是......类似于这个解决方案,这是超大的 (How to use the Supersized! plugin with image folders)
此外,当重新加载/重新访问页面时,我需要幻灯片显示以不同的图像开始。
非常感谢帮助我!!
答案 0 :(得分:0)
我已经整理了一个简单的PHP脚本。它从$ image_dir获取所有.jpg,并以随机顺序返回。
第一张图片保存为会话变量,刷新后,新图像被拾取并添加到数组的开头。
代码非常基本,如果你有子文件夹,你必须自定义它:
<强> PHP:强>
<?php
//Start Session
session_start();
function GetRandomImagesFromDir( $image_dir ) {
//Create image array
$images = glob($image_dir . '*.jpg');
//Get first image
//Get one random image from array
$rand_key = array_rand($images, 1);
//Same image as before?
if ( $rand_key == $_SESSION['last_image'] ) {
if ( $rand_key > 1 ) {
$rand_key--;
} else {
$rand_key++;
}
}
//Save Key to Session
$_SESSION['last_image'] = $rand_key;
//Save image to var
$first_image = $images[ $rand_key ];
//Get next images
//Remove first-image from array
unset( $images[ $rand_key ] );
//Shuffle
shuffle( $images );
//Add first image
$images[] = $first_image;
//Reverse array
$images = array_reverse($images);
//Array to string
$return_str = implode('","', $images);
$return_str = '"'.$return_str.'"';
//Return string
return $return_str;
}
?>
<强> JS:强>
<script>
$.backstretch([<?=GetRandomImagesFromDir('backstretch_images/')?>]);
</script>