Вопрос к кодерам php

123
S8
На сайте с 11.07.2006
Offline
86
#11
Bolibok_Nikolay:
вот, если примитивно подойти к вопросу :)

COUNTER - файл с полным доступом. это типа счетчик
<?php
$rnd=implode("",file("COUNTER"))+0;
$rnd=$rnd+1;
if($rnd>3)// количество
{
$rnd=1;
}
$fdd1=fopen("COUNTER","w");
flock($fdd1,2);
fwrite($fdd1,$rnd);
flock($fdd1,3);
fclose($fdd1);

include $rnd.'.php';
?>

Тоже показует первый баннер

edogs software
На сайте с 15.12.2005
Offline
775
#12
sidor80:
Нужно сделать простую ротацию баннеров по очериди нашол код ротатора, но со случайной ротацией вот код:
<?php

srand((double)microtime()*1000000);
$rnd = rand(1,3);
include $rnd.'.php';

?>
код банеров вписуется в файлы 1.php, 2.php, 3.php
Подскажите что надо прописать в строке
srand((double)microtime()*1000000);
чтобы сначало выводилось содержание файла 1.php а потом остальных.


session_start();
$_SESSION['abazaba']++;
if($_SESSION['abazaba']>3) $_SESSION['abazaba']=1;
include($_SESSION['abazaba'].'.php');
Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
S8
На сайте с 11.07.2006
Offline
86
#13
edogs:

session_start();
$_SESSION['abazaba']++;
if($_SESSION['abazaba']>3) $_SESSION['abazaba']=1;
include($_SESSION['abazaba'].'.php');

Также ввыводит постоянно содержание 1.php

BN
На сайте с 12.08.2004
Offline
161
#14
sidor80:
Тоже показует первый баннер

этого не может быть :)

разве что не поставил полный доступ на файл COUNTER

MPavel
На сайте с 28.02.2006
Offline
32
#15

Особо не парился.. могут быть ошибки, но у нас на сайте работает:) Баннеры крутяца по очереди, их может быть сколько угодно. Делюсь кодом...


<?session_start();
//Сколько выводим
$bannercount=4;
//Баннеры
$ban[0]='HTML банера';
$ban[1]='HTML банера';
$ban[2]='HTML банера';
$ban[3]='HTML банера';
$ban[4]='5';
$ban[5]='6';
// $ban[номер]='код';
if ($_SESSION['banner_nu']=='' || $_SESSION['banner_nu']==$bannercount)
{
$_SESSION['banner_nu']=0;
}
$showb = $_SESSION['banner_nu'];
$look=$ban[$showb];
echo $look;
$_SESSION['banner_nu']++;
?>

Зачем покупать то - что можно взять бесплатно? Всегда свежая БД Белых Каталогов. (http://baza.garb.ru) *Ручная регистрация в каталогах (http://baza.garb.ru/submitter/)
Dreammaker
На сайте с 20.04.2006
Offline
569
#16
sidor80:
Также ввыводит постоянно содержание 1.php

гы-гы, а может у вас содержимое всех инклудов одинаковое? :)

S8
На сайте с 11.07.2006
Offline
86
#17
Bolibok_Nikolay:
этого не может быть :)
разве что не поставил полный доступ на файл COUNTER

что за файл COUNTER ? Я вобше вставлял предложенный код в страницу и делал права доступа 777

M
На сайте с 14.01.2007
Offline
6
#18

может перед этим уже что-то отправляется пользователю и кука с номером сессии не устанавливается, т.к. хэдеры уже отправлены

M
На сайте с 14.01.2007
Offline
6
#19
$rnd=implode("",file("COUNTER"))+0;

а зачем здесь +0?

так же значение получается 10 и счетчик скидывается на 1

можно сделать intval(implode("",file("COUNTER"))) или попробовать

$rnd=0+implode("",file("COUNTER"));

да и с общим файлом для всех пользователей не получится)

вывод - только сессия, причем вначале кода

MPavel
На сайте с 28.02.2006
Offline
32
#20

Зачем заниматся таким гемороем? создавать лишний файл, все время его читать и тп, темболее нужно учитывать что на сайте в данный момент присутствует несколько пользователей - и все они будут записывать в 1ин файл данные...

Делать нужно определенно через сессию.... тогда баннеры будут крутица правильно..

Пример кода с сессией я выложил выше.

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий