2013-08-12 4 views
0

Я как бы начинаю с PHP и пытаюсь создать скрипт, который показывает в файле, который я могу включить в боковую часть моей индексной страницы, дату последнего обновления и плюс под ним список, из которого другие страницы, которые я обновил (в порядке их обновления). Итак, для примера, если в последний раз я обновлялся во вторник, и я только редактировал свои новости и индексную страницу, он сказал быPHP-скрипт обновления .. filemtime?

6 августа 2013 г. - Домашняя страница Обновлено. - Новости Заголовки Обновлено.

Тогда под ней показывают бы другие последние обновления .. вот так:

6 августа 2013 года - Главная страница обновляется. - Новости Заголовки Обновлено.

5 августа 2013 г. - Персонал обновлен.

2 августа 2013 г. - Главная страница Обновлено. - Форум обновлен. - Присоединиться Страница обновлена.

Я также хотел бы иметь возможность установить ограничение на количество обновлений. У меня был знакомый, у которого был этот сценарий несколько лет назад, и я помню, что он сделал это через .txt-файл и CHMOD txt-файл иметь письменные разрешения. Затем они были update.php, и на каждой странице, которую я хотел создать статус обновления, я бы включил несколько строк некоторых сценариев в верхней части файла. Плюс я бы перечислил имена страниц и то, что я хотел, чтобы они отображались в любом файл txt или файл с обновлениями, например index.php> Домашняя страница Обновлено ... Однако я потерял контакт с ним, и они не могут меня найти. У меня был пойти и и получил:

<?php 

    $pages = array(
    'Main Page' => 'index3.php', 
    'Staff' => 'staff.php', 
    'News Headlines' => 'news.php', 
); 
$list = array(); 

foreach($pages as $page => $file) { 
    $date = filemtime($file);  
if(!isset($list[$date])) { $list[$date] = array(); } 
    array_push($list[$date], $page); 
    } 
krsort($list); 

foreach($list as $date => $pages) { 
    echo date('F j, Y', $date) . "<br />\n"; 
    foreach($pages as $page) { 
    echo "- $page Updated<br />\n"; 
    } 
     } 
    ?> 

Но это не работает правильно, так как он начинает новую дату, даже если я обновляю два файла в тот же день ... Во всяком случае, я был просто интересно, если кто-нибудь имел какой-либо идея, как сделать этот скрипт? Я отчаянно нуждаюсь в том, чтобы получить его, поэтому любая помощь будет отличной. Я действительно не знаю, как это сделать и долгое время искал идеи ... Спасибо людям, и я надеюсь услышать что-то назад :)

ответ

0

filemtime() вернет отметку времени Unix, поэтому два обновления в тот же день будут по-прежнему представлять собой две разные метки времени. Вместо того, используя только дату() для форматирования даты, когда эхо, форматирования перед сохранением его в переменной $ дата:

foreach($pages as $page => $file) { 
    $date = date('Y/m/d', filemtime($file)); 

Затем, когда вы распечатать его:

echo date('F j, Y', strtotime($date)) . "<br />\n"; 
+0

Спасибо за ваш Ответить! Мне не обязательно использовать filemtime(), я просто подумал, что, поскольку мне кажется целесообразным использовать, но я не хочу, чтобы время отображало только дату со списком файлов, которые были изменены в этот день, но имена, которые я даю, а не имена их файлов. Мой плохой, может быть, я должен оставить всю вещь filemtime(). В любом случае я собираюсь попробовать, что вы сказали, спасибо! –

+0

Kodepup благодарит вас за ваш ответ. У меня все еще есть несколько проблем, у меня есть обновление с 31 июля, и, похоже, оно остается в качестве верхнего обновления, где я хочу, чтобы он был сгенерирован по порядку даты. Также, когда я обновляю файл за день после моего последнего обновления, он удаляет обновление со дня, предшествующего дате, и добавляет его в новую дату ... –

+0

К сожалению, я забыл указать, что вы хотите сортировать по дате. Я обновил фрагменты кода в своем ответе. Поскольку 'date()' возвращает дату в виде строки, она также сортируется как строка. Форматируя его таким образом, который можно отсортировать в хронологическом порядке, даже как строку, вы можете привести их в порядок, а затем просто переформатировать для отображения. – kodepup

Смежные вопросы