|
|
|
| Модернизирую Ваши гостевые под фотоальбом - огромное спасибо.
Структура такая
Несколько фотоальбомов и в каждом файловая гостевая под фотографиями
Есть страница со списком всех альбомов - на ней хочу для каждого альбома выводить количество горячих сообщений за неделю
Счетчик сделал - для отдельного альбома работает - код ниже.
Скопировал этот файл в корень каждого альбома и обращаюсь к ним с пом require_once со страницы-оглавления
Выдает одно количество сообщений в каждом альбоме.
Так понимаю - надо как-то обнулять значения переменных, чтобы они не накладывались?
<?php
// Скрипт для подсчета количества сообщений в альбоме за последнюю неделю
$time = time(); // получаем временную метку "Сейчас"
$dnorm = $time-(24*60*60*7);// получаем временную метку "Неделя назад"
$dir_rec = dir("records"); // открываем директорию
$i = 0; // счетчик свежих сообщений
while($entry = $dir_rec->read())
{
if (substr($entry,0,3)=="rec") // только для файлов, начинающихся на "rec"
{
$names=substr($entry,4); // массив имен файлов с отсеченными 4-мя первыми символами
if ($names>$dnorm) $i++; // сравниваем время и считаем +1, если файл свежий
}
}
$dir_rec->close(); // закрываем директорию
echo $i; // выводим число свежих сообщений
?>
|
| |
|
|
|
|
|
|
|
для: Serg_l
(22.05.2006 в 19:53)
| | Что-то не очень понятно, что вызывает сложность?
PS Хм... в разделе downloads имеются готовые фотогалереи. | |
|
|
|
|
|
|
|
для: cheops
(22.05.2006 в 20:21)
| | Надо сделать чтобы переменные не смешивались при каждом require_once при обращении со страницы-оглавления
Надо так
альбом1 - за последнюю неделю 5 сообщений
альбом2 - за последнюю неделю 0 сообщений
Сейчас так
альбом1 - за последнюю неделю 5 сообщений
альбом2 - за последнюю неделю 5 сообщений
альбом3 - за последнюю неделю 5 сообщений
альбом4 - за последнюю неделю 5 сообщений
готовая галерея лишит возможности думать :) | |
|
|
|
|
|
|
|
для: Serg_l
(22.05.2006 в 20:28)
| | Так как код не полный сложно сориентироваться... но если вы включаете скрипты при помощи require_once(), вместо
<?php
$dir_rec = dir("records");
?>
|
следует указывать
<?php
$dir_rec = dir("имя_директории/records");
?>
|
У вас какая сейчас файловая структура (как файлы расположены относительно друг друга)? | |
|
|
|
|
|
|
|
для: cheops
(22.05.2006 в 22:26)
| | Оглавление
альбом1/records
альбом2/records
альбом3/records
...
Спасибо, как и предполагал - вопрос был в области видимости переменных.
Оглавление многократно обращалось к скрипту-ам (код выше - лежал в каждом альбоме отдельным файлом). Соответственно в Оглавлении фигурировали одни и те же переменные многократно и забивали друг друга. Проблема была в области видимости этих переменных. Ответ нашел такой. Скрипт вставил в код страницы Оглавление и определил, как функцию:
function week($var)
{
... изначальный код см. выше
}
|
а в нужных местах вставил обращения с разными значениями-аргументами:
<?php week("kmarina/records");?>
<?php week("klyuevi/records");?>
|
Функция по умолчанию ограничивает область видимости переменных.
...и все заработало. Странно, что в Вашей книге ответ быстрее нашел :) | |
|
|
|
|
|
|
|
для: cheops
(22.05.2006 в 20:21)
| | Встречал серъезные ответы и на более смешные вопросы...
Дело не в фотогалереях, а в нескольких гостевых с одной страницей-оглавлением
И надо просто посчитать так, чтобы результат не забивался многократным использованием одних и тех же переменных. Подскажите, хоть на что обратить внимание, чтоб ошибку найти. | |
|
|
|
|
|
|
|
для: Serg_l
(22.05.2006 в 19:53)
| | Господа, может у кого найдется вариант? | |
|
|
|