Мне нужно показать несколько баннеров на веб-странице. Количество баннеров будет 10 (максимум 10). Я могу установить количество баннеров и каждую папку баннеров в базе данных. Изображения баннеров хранятся в отдельных папках сервера в зависимости от категории. Баннеры отображаются в столбцах.
Мой код: здесь long1, long2,... long10 - это имена каталогов из базы данных.
$array=array();
for($n=1;$n<=$long;$n++)
{
$files = array();
$dir=${'long'.$n};
if(is_dir($dir))
{
$openDir = opendir($dir);
while (false !== ($file = readdir($openDir)))
{
if ($file != "." && $file != "..")
{
$files[] = $file;
}
}
closedir($openDir);
}
mt_srand((double) microtime()*1000000);
$randnum = mt_rand(0,(sizeof($files)-1));
$arraycount=count($array);
for($index=0;$index<=$arraycount;$index++)
{
if(!in_array($array,$randnum))
{
$array[]=$randnum;
}
}
$img = $dir."/".$files[$randnum];
<input type="image" class="advt_image" src="<?=$img;?>" alt="" name=""/>
}
пример: если в базе данных установлено 7 баннеров, мне нужно показать 7 баннеров из разных или одной папки (некоторые баннеры будут из одной папки). Мне нужно избегать дублирования баннеров каждый раз, когда я показываю веб-страницу.
Я назначил массив для хранения каждого случайного числа. Нужно ли что-то менять в коде? любая мысль/идея?
Спасибо!