2017-06-10 4 views
0

Blick auf diese URL zu wiederholen:
http://www.portaloficial.com.br/teste/teste1/demo.php
Ich brauche diese Bilder zufällig zu sein, nicht zu wiederholen, pro Album.
Kann mir jemand dabei helfen?
................................................ ......................PHP Random Images, nicht

Hier ist der Code:

if (!isset($_GET['album'])) { 
    // display list of albums 
    $folders = scandir($mainFolder, 0); 
    $ignore = array('.', '..', 'thumbs'); 
    $albums = array(); 
    $captions = array(); 
    $random_pics = array(); 
    foreach($folders as $album) { 
     if(!in_array($album, $ignore)) { 
      array_push($albums, $album); 
      $caption = substr($album,0,40); 
      array_push($captions, $caption); 
      $rand_dirs = glob($mainFolder.'/'.$album.'/thumbs/*.*', GLOB_NOSORT); 
      $rand_pic = $rand_dirs[array_rand($rand_dirs)]; 
      array_push($random_pics, $rand_pic); 
     } 
    } 
    if(count($albums) == 0) { 
     echo 'Não há álbuns.'; 
    } else { 
     $numPages = ceil(count($albums)/$albumsPerPage); 
     if(isset($_GET['p'])) { 
      $currentPage = $_GET['p']; 
      if($currentPage > $numPages) { 
       $currentPage = $numPages; 
      } 
     } else { 
      $currentPage=1; 
     } 
     $start = ($currentPage * $albumsPerPage) - $albumsPerPage; 
     for($i=$start; $i<$start + $albumsPerPage; $i++) { 
      if(isset($albums[$i])) { 
       echo '<div class="thumb-album shadow" style="width:100%; text-align:center;"> 
         <div class="thumb-wrapper"> 
          <a href="'.$_SERVER['PHP_SELF'].'?album='. urlencode($albums[$i]) .'" style="padding:5px;"> 
           <img src="'. $random_pics[$i] .'" width="'.$thumb_width.'" alt="" /> 
           <img src="'. $random_pics[$i] .'" width="'.$thumb_width.'" alt="" /> 
           <img src="'. $random_pics[$i] .'" width="'.$thumb_width.'" alt="" /> 
           <img src="'. $random_pics[$i] .'" width="'.$thumb_width.'" alt="" /> 
           <img src="'. $random_pics[$i] .'" width="'.$thumb_width.'" alt="" /> 
           <img src="'. $random_pics[$i] .'" width="'.$thumb_width.'" alt="" /> 
          </a> 
         </div> 
         <a href="'.$_SERVER['PHP_SELF'].'?album='. urlencode($albums[$i]) .'"> 
          <span>'. $captions[$i] .'</span> 
         </a> 
        </div> 
        <div class="clear"></div>'; 
      } 
     } 
     echo '<div class="clear"></div>'; 
     echo '<div align="center" class="paginate-wrapper">'; 
      $urlVars = ""; 
      print_pagination($numPages,$urlVars,$currentPage); 
     echo '</div>'; 
    } 

Antwort

0

Wechsel: <img src="'. $random_pics[$i] .'" width="'.$thumb_width.'" alt="" />

zu

<img src="'. $random_pics[mt_rand(0, count($random_pics) - 1)] .'" width="'.$thumb_width.'" alt="" />

Obwohl es eine große Möglichkeit gibt, dass Ihr g Wenn Sie dies nicht tun möchten, erstellen Sie ein Array, das für das Bildset spezifisch ist.

+0

@ laurence-cherone das mischte alle Bilder, zwischen den Alben ... Blick auf die URL ... Ich brauche sie zufällig nur von Album –

+0

Ich habe es nicht getestet, ich nahm '$ rand_pic = $ rand_dirs [array_rand ($ rand_dirs)]; 'enthält ein Array der Bilder im Album. Im Wesentlichen haben Sie ein Array von Pfaden für jedes Album, dann wählen Sie einfach ein zufälliges für jedes Bild, das Sie zeigen möchten. –

+0

Sorry, ich weiß nicht genug PHP ... wie kann ich das tun? –