Вы здесь

Как написать условие "с 22.30 до часу ночи"?

-1
$data=array();
$std = date("G");
$file = fopen(ROOTDIR.($std>=00 && $std < 01 ? "p.csv" : "free.csv"), "r");
while (($row = fgetcsv($file,100000,";"))!==FALSE) {
$data[]=array("myuri"=>$row[0],"mytext"=>$row[1]);}
fclose($file);

не получается для блока выставить время с 22.30 до часу ночи
с полночи - хоть до скольки - всё работает

Версия Drupal: 
7.x
Вопрос задан 08.10.2016 - 11:01
Аватар пользователя Pavel
Pavel
-47

Что значит "выставить время"? Что за код вы выложили? Причём здесь работа с файлами?

Комментарий оставлен 08.10.2016 - 13:21

Есть два файла p.csv и free.csv
p.csv - надо его транслировать с 22.30 до часу ночи

в остальное время отдаем free.csv - пустой или почти пустой (редактируется модером)
p.csv - раздает конкретный контент определенным страницам

Комментарий оставлен 08.10.2016 - 14:03
$date_current = new DateTime('now');
$date_from = new DateTime('22:30');
$date_to = new DateTime('01:00');
if ($date_current > $date_from || $date_current < $date_to) {
  ...
}

http://www.php.su/php/

Комментарий оставлен 08.10.2016 - 16:42

Ответы

0

Мне кажется, такой подход сомнительным.
Думаю, отображение блока логичнее делать не целиком на сервере, а еще использовать JS на клиенте.
То есть, у вас должен быть JS-файл, в котором бы отображение блока делалось по таймеру.
Можно, например, раз в минуту с помощью ajax получать нужную информацию и выводить её в блок. В этом случае даже при обновлении содержимого csv-файлов пользователь будет видеть актуальные данные. И ему не надо будет для этого перезагружать сайт.

Ответ дан 08.10.2016 - 11:14

В том и засада - JS-файл ну никак не подходит - только на стороне сервера

Комментарий оставлен 08.10.2016 - 12:11