使用backstretch时从目录中获取图像和文件名

时间:2016-08-21 09:50:55

标签: php arrays fetch

我猜你是一个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;
&#13;
&#13;

由于这个函数,GetRandomImagesFromDir在php页面的底部被调用,而我想要显示文件名的标题标签就在这之上,我有点难过。

下面的代码用于提取文件名列表,但我只想显示与图像相关的代码。希望你能帮忙!

&#13;
&#13;
<?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;
&#13;
&#13;

0 个答案:

没有答案