我猜你是一个PHP菜鸟。
我想做什么:从目录中获取图像并在后台显示它们,同时获取文件名并在标题中显示它。
下面的代码随机取出图片,我不需要它是随机的,事实上如果我可以控制图像的顺序并显示相应的文件名会更好。
从目录中获取图像并随机显示:
<script>
$.backstretch([<?=GetRandomImagesFromDir('backgrounds/')?>], {
fade: 750,
duration: 4000
});
</script>
&#13;
<?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;
}
?>
&#13;
由于这个函数,GetRandomImagesFromDir在php页面的底部被调用,而我想要显示文件名的标题标签就在这之上,我有点难过。
下面的代码用于提取文件名列表,但我只想显示与图像相关的代码。希望你能帮忙!
<?php
$files = glob("backgrounds/*.*");
for ($i=0; $i<count($files); $i++) {
$image = $files[$i];
$name = basename($files[$i], ".jpg");
echo str_replace('-', ' ', basename($name, ".jpg")) ."<br />";
}
?>
&#13;