2011-12-28 2 views
1

Я новичок в PHP и ежедневно загружаю ежедневную медитацию, характерную для этого дня.Как вызывать отдельный файл php каждый день в году?

Так на 1 января, я бы назвал цитату из 1_1.php и на 2-м 1_2.php, и так далее до 1-го февраля, который не назвал бы 2_1.php и на 2-м 2_2.php на третьем 2_3.php.

Возможно ли это, и насколько это сложно?

Также было бы приемлемо иметь 365 файлов, где он просто назывался следующим, каждые двадцать четыре часа или один файл с 365 строками и каждый день вызывал другую строку, но я не знаю, как это сделать это, поскольку я знаю только, как построить html и дизайн, чтобы любая помощь или совет были бы замечательными.

+0

возможно дубликат [Изменение моей навигации по дате] (http://stackoverflow.com/questions/4763109/changing-my -навигация на основе даты) – outis

ответ

2

Я бы определенно не использовать 365 различных файлов. Было бы разумно использовать базу данных, но поскольку они кажутся однострочными, и вы новичок в PHP, метод simples для них в большом массиве. Недостатком этого является то, что весь массив будет считываться и анализироваться при каждой загрузке страницы. Но я не стал бы беспокоиться об этом, пока это не станет проблемой.

$meditations = array(
    '1-Jan' => "Some meditation for today", 
    '2-Jan' => "Some meditation for tomorrow", 
    ... 
    ... 
    '28-Dec' => "Something for today", 
    '29-Dec' => "Something for tomorrow", 
    '30-Dec' => "Something for tomorrow2", 
    '31-Dec' => "Something for new year's eve" 
); 

Затем к ним доступ как:

echo $meditations[date('j-M')]; 
// Today will output 
//something for today 

Если вы предпочитаете, InstEd использовать формат dd-Mon для ключей массива, вы можете использовать цифровые месяцы, как в:

array('28-12' => "something for today"); 
// Access as: 
echo $meditations[date('j-m')]; 

Полный бит для включения внутри вашей страницы PHP (обратите внимание, что это должна быть страница .php, а не .html):

<?php 
$meditations = array(
    '1-1' => "Some meditation for today", 
    '2-1' => "Some meditation for tomorrow", 
    // etc.... 
); 
echo $meditations[date('j-m')]; 
?> 

Вы можете альтернативно хранить огромный массив в своем собственном файле под названием meditations.php, и включить его:

meditations.php Файл

<?php 
$meditations = array(
    '1-1' => "Some meditation for today", 
    '2-1' => "Some meditation for tomorrow", 
    // etc.... 
); 
?> 

Главный файл:

<?php 
include("meditations.php"); 
echo $meditations[date('j-m')]; 
?> 

Для включите это на простой HTML-странице (не .php), вам понадобится <iframe>. Предполагая, что ваш PHP работает правильно в файле с именем meditations.php, вызовите <iframe> так:

<iframe src='meditations.php' /> 
+1

большое спасибо вам, ребята, что было огромной помощью !!!!!!много хороших пожеланий на новый год! – user1120049

+0

@ user1120049 Счастливые помочь. Если вы удовлетворены ответом, отметьте его как принятый, нажав на его галочку. И добро пожаловать в переполнение стека. –

+0

' "Некоторые размышления на сегодняшний день", '2-1' => "Некоторые размышления на завтра", '3-1' => «Некоторые медитация в этот день ", '4-1' =>« Некоторая медитация на завтра2 », « 5-1 '=> «Некоторая медитация для сегодняшнего теста», '28 -12' => «Что-то для сегодняшнего дня», '29 -12 '=> «Что-то для завтрашнего дня», '30 -12' => «Что-то на сегодняшний день test2», '31 -12 '=> «Что-то в канун нового года» ); echo date ("d-m") echo $ meditations [date ('d-m')]; // Сегодня будет выводить // что-то сегодня > ' – user1120049

0

Я хотел бы использовать базу данных лично, но это возможно, если вы хотите сделать это:

<?php 
include(date("n_j").".php"); 
?> 
0

Правильный способ сделать это, чтобы иметь один PHP файл, который загружает данные из своего рода хранения (наиболее предпочтительно базы данных таблица) и каждый день загружать запись за этот конкретный день.

Если вы хотите придерживаться с несколькими файлами вы можете сделать:

<?php 
    $filename = date("m")."_".date("d").".php"; 
    if (file_exists($filename)) include($filename); 
?> 
Смежные вопросы