2009/07/23

[PHP] mootoolsを使った slideshowで、ディレクトリ内のjpgを指定

randjpg関数を改変

function slideshowdata($tagdir = 'top')
{
  if ($dh = opendir($tagdir)) {
    for ($i = 0; $file = readdir($dh); ) {
      if (preg_match ('/.jpg$/', $file)) {
        $images[$i++] = $file;
      }
    }

    srand ((float)microtime() * 1000000);
    shuffle ($images);
    $cnt = $i;

    for ($i = 0; $i < $cnt; $i++) {
      if ($i) print ", ";
      print "\"{$images[$i]}\"";
    }

    closedir($dh);
  } else {
    print "directory open error\n";
  }
}

html内
<link rel="stylesheet" type="text/css" href="/css/slideshow.css" media="screen" />
<script type="text/javascript" src="/bin/js/mootools.js"></script>
<script type="text/javascript" src="/bin/js/slideshow.js"></script>
<script type="text/javascript" src="/bin/js/slideshow.kenburns.js"></script>
<script type="text/javascript">
//<![CDATA[
window.addEvent('domready', function(){
  // Load your images here
  var data = [
    <?php slideshowdata('img/top'); ?>
  ];

  var options = {
    random: true,
    delay: 10000, 
    duration: 4000, 
    width: 480,
    height: 120,
    hu: 'img/top/'
  }

  // Initialize the Slideshow instance
  var myShow = new Slideshow.KenBurns('show', data, options);
});
//]]>
</script>
optionsとかは適当に

0 件のコメント:

Ubuntu 24.04 Server で VitualBoxの Autostartを

 VirtualBoxのインストールをを aptでインストールしたが autostartでvmが起動しなかったのでChatGPTに聞きながらやっと起動できるようになったのでそのメモ。