реализация на joomla!!!
я решил сделать так:
1, подсчитываю количество файлов в папке
2, получаю случайно число (это для того чтоб выводить случайный банер из папки)
3, вывожу первый банер и заношу это значение в сесию
4, при обновлении страницы или при переходе на новую страницу я сравниваю полученную переменную случайным образом и переменную из сесии
4,1 если они равны то выводить другой банер
4,2 если не равны, то выводить банер
PS может это не правильный подход, то подскажите пожалуйста правильный. я так понял тут не делают, а обсужждают!
<?php defined( '_JEXEC' ) or die( 'Go Away' ); ?>
<?php
$doroga = $params->get( 'doroga');
$sPath = './images/banners/'.$doroga.'/'; // указываем путь к папке
$dDir = opendir($sPath);
$aFileList=array();
while ($sFileName=readdir($dDir))
{
if ($sFileName!='.' && $sFileName!='..')
{
$aFileList[]=$sFileName;
}
}
closedir ($dDir);
$iNumFiles=count($aFileList); // колич-во файлов в папке
//foreach($aFileList as $value) { echo "$value <br />"; } // вывод списка имен файлов
$i = rand(1,$iNumFiles); // получаю случайное цисло при начале работы скрипта
$j = $i-1;
echo "eto JJJ: ".$j;
echo "<br />";
echo $aFileList[$j];
echo "<br />";
$session =JFactory::getSession(); // стартую сесиию
$temp = $session->get('temp_baner');
if (empty($temp))
{
$temp = $j;
$session->set( 'temp_baner', $temp );
}
else
{
$temp = $session->get('temp_baner');
echo 'eto iz sessii - '.$temp;
if (($temp == 0) or ($temp == -1)) $temp = 1;
if ($temp == 1) $temp = 0;
$session->set( 'temp_baner', $temp );
$j = $temp;
}
?>
<div class="niz banneritem">
<?php // вывод кода для отображения банера
$content = <<<EOD
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" border="0" width="200" height="100">
<param name="movie" value="$sPath/$aFileList[$j]"/>
<param name="wmode" value="opaque"/>
<embed src="$sPath/$aFileList[$j]" allowScriptAccess="sameDomain" loop="true" pluginspage="http://www.macromedia.com/go/get/flashplayer" type="application/x-shockwave-flash" width="200" height="100"></embed>
</object>
EOD;
?>
<div class="clr"></div>
</div>
не понимаю, но не совсем работает… почему то сессия глючит…
я так понимаю, если я загнал переменную в сесию, то она там находится до конца. я ни где не удаляю эту переменную $temp
а на самом деле так происходит что она удаляется