Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> показывать файл за файлом, как показывать файл за файлом? 
V
    Опции темы
Belov
Дата 25.7.2009, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



в индексе, в определенном месте стоит

include('folder/file1.php');

в этой же папке еще пять файлов file2.php, file3.php, file4.php, file5.php, file6.php

как прописать код чтобы через 30 дней показывался file2.php, а еще через 30 дней - file3.php и так далее, с учетом того что
через 150 дней будет показываться опять file1.php, если к тому времени не появится file7.php и file8.php.., и так по кругу?

заранее спасибо

БЕ



Это сообщение отредактировал(а) Belov - 25.7.2009, 23:06
PM MAIL   Вверх
Photon
Дата 25.7.2009, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Злобный программер
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.2.2009
Где: Таганрог

Репутация: 10
Всего: 12



Во-первых записываем индекс и дату начала действия текущего файла (serialize?) в текстовый файл..
Потом проверяем, что интервал времени достаточен для смены файла, получаем список файлов, упорядочиваем его, затем:
Код

$index = ($index != count($file_arr))?$index+1:1;
$file = $file_arr[$index-1];

ну и записываем новый индекс и дату начала действия в тот же текстовый файл с перезаписью

Это сообщение отредактировал(а) Photon - 25.7.2009, 23:38


--------------------
With best regards..
PM MAIL ICQ Skype GTalk Jabber   Вверх
Belov
Дата 26.7.2009, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



Спасибо за ответ... Эх нет, думал будет проще, я пожалуй не смогу этого сделать сам... зелен!
PM MAIL   Вверх
Photon
Дата 26.7.2009, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Злобный программер
**


Профиль
Группа: Участник
Сообщений: 282
Регистрация: 27.2.2009
Где: Таганрог

Репутация: 10
Всего: 12



Ну что тут делать?
Код

// param $folder путь к нужной папке от корня сайта (например getCurFile('folder'); или getCurFile('include/temp');
function getCurFile($folder) {
    if (substr($_SERVER['DOCUMENT_ROOT'],strlen($_SERVER['DOCUMENT_ROOT'])-1) == '/')
        $main_dir = substr($_SERVER['DOCUMENT_ROOT'],0,strlen($_SERVER['DOCUMENT_ROOT'])-1);
    else
        $main_dir = $_SERVER['DOCUMENT_ROOT'];
    if (!file_exists($main_dir.'/'.$folder.'/settings.txt')) {
     $index = 1;                                    
     $file = $main_dir.'/'.$folder.'/file'.$index.'.php';
    }
    else {
     $file = file_get_contents($main_dir.'/'.$folder.'/settings.txt');
     $data = unserialize($file);
     if ($data['time'] + 60*60*24*30 < time()) {
            $index = $data['index'] + 1;
            $dir = opendir($main_dir.'/'.$folder);
            $files = array();                  
            while($file = readdir($dir)) {
             if ($file != '.' && $file != '..' && $file != 'settings.txt')
                 $files[] = $file;
            }         
            closedir($dir);
            natsort($files);
            if ($count($files) > $index)
                $file = $main_dir.'/'.$folder.'/'.$files[$index-1];
            else {
                $file = $main_dir.'/'.$folder.'/'.$files[0];
                $index = 1;
            }
    }
    $time = time();
    $fh = fopen($main_dir.'/'.$folder.'/settings.txt', 'w');
    $data = array('index'=>$index, 'time'=>$time);
    fwrite($fh, serialize($data));
    fclose($fh);
}
include(getCurFile($folder));


Где-то как-то так.. smile


--------------------
With best regards..
PM MAIL ICQ Skype GTalk Jabber   Вверх
Belov
Дата 27.7.2009, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



Ну не знаю даже что сказать. Плюс не могу... Может WMZ?
Спасибо большое! Если что пишите в личку... 
PM MAIL   Вверх
MoLeX
Дата 27.7.2009, 06:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(Belov @  27.7.2009,  01:19 Найти цитируемый пост)
Плюс не могу...

поставим


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Belov
Дата 27.7.2009, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 17.4.2008

Репутация: нет
Всего: нет



Спасибо MoLeX! Вы настоящий Пингвин!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0516 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.