Javascript PHP随机图像,不重复
查看此url:Javascript PHP随机图像,不重复,javascript,php,arrays,image,random,Javascript,Php,Arrays,Image,Random,查看此url: 我需要每个相册中的这些图像是随机的,而不是重复的。 有人能帮我吗? 徖 代码如下: if (!isset($_GET['album'])) { // display list of albums $folders = scandir($mainFolder, 0); $ignore = array('.', '..', 'thumbs'); $albums = array(); $captions = array(); $ran
我需要每个相册中的这些图像是随机的,而不是重复的。
有人能帮我吗?
徖 代码如下:
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>';
}
if(!isset($\u GET['album'])){
//显示相册列表
$folders=scandir($mainFolder,0);
$ignore=数组('.','..,'拇指');
$albums=array();
$captions=array();
$random_pics=array();
foreach($folders as$album){
if(!in_数组($album,$ignore)){
阵列推送($albums,$album);
$caption=substr($album,0,40);
数组推送($captions,$caption);
$rand_dirs=glob($mainFolder.'/'.$album.'/thumbs/*.*,glob_NOSORT);
$rand_pic=$rand_dirs[array_rand($rand_dirs)];
阵列推送($random\u pics,$rand\u pic);
}
}
如果(计数($albums)==0){
回音“Não hálbuns”;
}否则{
$numPages=ceil(计数($albums)/$albumsPerPage);
如果(isset($\u GET['p'])){
$currentPage=$_GET['p'];
如果($currentPage>$numPages){
$currentPage=$numPages;
}
}否则{
$currentPage=1;
}
$start=($currentPage*$albumsPerPage)-$albumsPerPage;
对于($i=$start;$i更改:
到
虽然在显示时很有可能会出现重复,但如果您不想重复,请为图像集构建一个特定的数组。@laurence cherone这混合了所有图像,在相册之间…查看url…我需要它们是随机的,只是相册我没有测试它,我假设$rand\u pic=$rand\u dirs[array\u rand]($rand_dirs);
包含相册中的一个图像数组。基本上,每个相册都有一个路径数组,然后只需为每个要显示的图像随机选择一个路径。抱歉,我对PHP了解不够……我该怎么做?