PHP: <? $date = date("d.m.Y"); $file="$date.txt"; if(is_file($file)){ include($file); } else { $x = explode(".",$date); $x[0] = date("d") - 1; $file=$x[0].".".$x[1].".".$x[2].".txt"; include($file); } ?> можно сделать более хороший скрипт, который считовал и месяца (знаю плохо обяснил )(наверное вы поняли, что делает скрипт ) ?
2Shtogrin Т.е. в место $x = explode(".",$date); $x[0] = date("d") - 1; $file=$x[0].".".$x[1].".".$x[2].".txt"; просто моно strtotime("-1 day")
Нет. Сначала посмотреть что делает strtotime, потом написать что-то вроде этого $file=date("d.m.Y",strtotime("-1 day"))
Ну получается так PHP: <? $date = date("d.m.Y"); $file="$date.txt"; if(is_file($file)){ include($file); } else { $file=date("d.m.Y",strtotime("-1 day")); $file .= ".txt"; include($file); } ?>
небольшой комментарий к первому скрипту, просто так, на будущее. Вот эта строка PHP: <?php $x[0] = date("d") - 1; ?> может дать, например, 0, если сегодня первое число. Тогда нужно и число другое и месяц. надо учитывать все условия и мелочи, если уж беретесь писать
mktime нормально все обработает date('d.m.Y',mktime(0,0,0,date('m'),date('d')-1,date('Y'))) выдаст правильную дату если будет 1 число месяца, т.е. 1 января выдаст 31 декаюря прошлого года. спросите почему - потому что unixtime rulezz!
а еще проще будет, наверно: PHP: <?php $today = date('d.m.Y'); $yesterday = date('d.m.Y', time()-86400); $file = (is_file($today . '.txt')) ? $today . '.txt' : $yesterday . '.txt'; /* ... after party ... */ ?>