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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Случайный выбор текста из файла, [Вопрос к знатокам] 
:(
    Опции темы
vikia
Дата 24.12.2007, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



У меня на сайте установлен небольшой скрипт вытаскивающий текст из текстового файла. В текстовом файле находится 4 разных текста. При каждом обновлении страницы происходит произсольная выборка текста из файла.

Вопрос: Что точно обозначает эта функция: srand((double)microtime()*1000000);

Есть ли возможность создать алгоритм, который будет вытаскивать текст из файла не при каждом обновлении страницы, а раз в сутки (например), или раз в неделю?

Спасибо за ответ.
PM MAIL   Вверх
skyboy
Дата 24.12.2007, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(vikia @  24.12.2007,  20:10 Найти цитируемый пост)
Что точно обозначает эта функция: srand((double)microtime()*1000000);

    это не функция. это вызов функции srand.
Цитата(vikia @  24.12.2007,  20:10 Найти цитируемый пост)
вытаскивать текст из файла не при каждом обновлении страницы, а раз в сутки (например), или раз в неделю?

т.е. во всех остальных случаях текст не возвращать или возвращать не случайно выбранное значение, а предыдущее? что тебе надо: игнорирование запроса или кеширование результата?

Добавлено через 58 секунд
Цитата(vikia @  24.12.2007,  20:10 Найти цитируемый пост)
Что точно обозначает эта функция: srand((double)microtime()*1000000);

Цитата(vikia @  24.12.2007,  20:10 Найти цитируемый пост)
Есть ли возможность создать алгоритм, который[...]

как один вопрос связан с другим?

M
skyboy
В теме рассматривается один вопрос! одна тема - один вопрос. два вопроса - две отдельные темы.

PM MAIL   Вверх
GZep
Дата 24.12.2007, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

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



vikia, да, можно закешировать текст и менять его раз в сутки.

Например, создать html файл, в него кидать ваш выбранный текст и обновлять этот html файл только раз в сутки. Подключать его обычным инклудом.

Добавлено через 3 минуты и 53 секунды
чуть не забыл, надо еще где-нибудь хранить информацию о последнем дне, на который был сделан кеш. И если эта дата мешь сегоднешной -> обновить кеш и обновить дату на сегодня.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
MoLeX
Дата 25.12.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(GZep @  24.12.2007,  23:16 Найти цитируемый пост)
чуть не забыл, надо еще где-нибудь хранить информацию о последнем дне, на который был сделан кеш. И если эта дата мешь сегоднешной -> обновить кеш и обновить дату на сегодня.


а что нельзя запрашивать когда создан был этот файл и сравнивать, если совпала то не генерить, если нет то генерим?



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


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

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



MoLeX, во, точно! тем более, что в пхп есть функция (по-моему touch называется), которая изменяет время последнего изменения файла на текущее.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
MoLeX
Дата 25.12.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



GZep не совсем понял вот это:
Цитата(GZep @  25.12.2007,  14:21 Найти цитируемый пост)
 тем более, что в пхп есть функция (по-моему touch называется), которая изменяет время последнего изменения файла на текущее.


кусок кода генерящий цитаты каждый час, может немного муторно)))
Код

//    Блок генерящий цитаты каждый час
    if(@date("H" ,filemtime("./путь/sitata.txt")) == date("H"))
    {
        $sitat = fopen("./путь/sitata.txt", "r");
    }
    else
    {
        $quoting_sql = mysql_query("SELECT * FROM `table` WHERE id = '1' ");
        while ($quo = mysql_fetch_array($quoting_sql)) 
        {    
            $sitata[text] = "".$quo['text']."";                            
        }    
        $sis = fopen("./путь/sitata.txt", "w"); 
        fputs($sis, $sitata[text]);
        fclose($sis);
        $sitat = fopen("./путь/sitata.txt", "r");    
    }


Это сообщение отредактировал(а) MoLeX - 25.12.2007, 15:01


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


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

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



MoLeX, а, ну да... эта функция тут не причем... сори.

Добавлено через 2 минуты и 32 секунды
MoLeX, только код у вас как-то странно написан... там же упростить можно... ну, да ладно..


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
MoLeX
Дата 26.12.2007, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



GZep возможно  smile, буду не против взглянуть на твой вариант кода))))


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


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

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



MoLeX, я имел ввиду конструкцию if-else
Код

//    Блок генерящий цитаты каждый час
    if(!@date("H" ,filemtime("./путь/sitata.txt")) == date("H"))
    {
        $quoting_sql = mysql_query("SELECT * FROM `table` WHERE id = '1' ");
        while ($quo = mysql_fetch_array($quoting_sql)) 
            $sitata[text] = "".$quo['text']."";                            
        $sis = fopen("./путь/sitata.txt", "w"); 
        fputs($sis, $sitata[text]);
        fclose($sis);
    }
    $sitat = fopen("./путь/sitata.txt", "r");



--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
MoLeX
Дата 26.12.2007, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



GZep да можно и так тока привычка писать уж

Код

if(la-la-la)
{
...
}
else
{
....
}

 не знаю разумно или нет, но так уж получается


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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