2011-10-12 5 views
1

I가이 드루팔 슬라이드 이미지 제목으로 폴더 순차 이미지를 당기는 (01_title.jpg, 02_title.jpg, 등등)임의 화 슬라이드 쇼 이미지

을 랜덤 화하는 쉬운 방법이 있는지 궁금 이미지가 없으므로 페이지를 새로 고칠 때마다 다른 이미지로 시작됩니까? 여기에 슬라이드 쇼 http://www.rubensteinpr.com/

감사를 볼 수 있습니다

!

<div id ="index"> 
     <?php 
      // Note that !== did not exist until 4.0.0-RC2 
      $desired_extension = 'jpg'; //extension we're looking for 
      $banner_imgs_array = array(); // array of banner images 
      $banner_imgs = ''; // sting of banner images names comma dileneated 

      if ($handle = opendir(file_directory_path().'/banner_imgs')) { 

       /* This is the correct way to loop over the directory. */ 
       while (false !== ($file = readdir($handle))) { 
        if(($file != ".") and ($file != "..")) { 
         $fileChunks = explode(".", $file); 
         if($fileChunks[1] == $desired_extension) //interested in second chunk only 
         {  
         $banner_imgs_array[] = $file; 
         } 
        } 
       } 

       closedir($handle); 

       $banner_imgs = implode(',', $banner_imgs_array); 
      } 
     ?> 
     <div id="banner"><img src="<?php print file_directory_path(); ?>/temp_banner.jpg" width="702" height="310" border="0"></div> 
     <div id="bannerText">media relations &bull; strategic planning &bull; digital communications &bull; crisis management</div> 
     <script type="text/javascript"> 
      // <![CDATA[ 

      var so = new SWFObject("<?php print file_directory_path(); ?>/banner.swf", "ban", "702", "310", "8", "#ffffff"); 
      so.addParam('menu', 'false'); 
      so.addParam("wmode", "transparent"); 
      so.addParam("base", "<?php print file_directory_path(); ?>"); 
      so.addVariable("banner_imgs", "<?php print $banner_imgs; ?>"); 
      so.write("banner"); 

      // ]]> 
     </script> 
</div> 

답변

2

단지

$banner_imgs = implode(',', $banner_imgs_array); 

전에 트릭을해야한다.

+1

이 코드는 현재 사용되고 있으며 소스의 배열을 뒤섞어 놓은 것처럼 보였습니다.하지만 캐시를 지운 후에도 슬라이드 쇼에서 이미지가 순차적으로 표시됩니다. 아마도 그 문제는 다른 곳에있을 것입니다. 당신의 대답에 감사드립니다! – TheRealBillyT

+1

셔플을 "BEFORE"하시겠습니까? "$ banner_imgs = implode (',', $ banner_imgs_array);"뒤에 "echo $ banner_imgs"를 시도하십시오. 그리고 그것이 문자열에 실제로 섞여 있는지 확인하십시오. 어쩌면 플래시 애플릿에는 주문 기능이 있습니다. 이미지 파일의 이름을 바꾸고 주문 변경 여부를 확인하십시오. –

0

array_rand 하나 이상의 임의의 키 배열을 반환한다. 배열 자체를 임의로 이동하려면 shuffle을 사용하십시오.

shuffle($banner_imgs_array); 

줄을 추가