PHP для начинающих
СОЗДАНИЕ СТРАНИЦЫ С НОВОСТЯМИ САЙТА
Для начала мы создадим программу для вывода новостей сайта или другой информации без использования формы. Новости или другая информация будут писаться вручную в текстовый файл, и эта информация будет отображена в окне браузера. Программа не вызовет у вас затруднений, если вы разобрались с материалами предыдущей главы при создании счетчика посещений.
В рабочей папке htdocs нашего домашнего сервера создайте папку novosti. В этой папке мы будем хранить страницы для вывода новостей. Создайте там простой текстовый файл, т. е. откройте блокнот, сохраните его в нашей созданной папке novosti под названием novosti.txt. Запишите в этом файле несколько строчек, примерно так:
первая новость
вторая новость
третья новость
четвертая новость
пятая новость
шестая новость
седьмая новость
Сохраните записанное и закройте файл. Теперь в PHP-редакторе создайте новый PHP-файл. Между тегами <?php и ?> наберите следующий код:
Листинг 5.3 (файл nov1.php)
<?php
$filen="novosti.txt";
$chislo=5;
$lolo=file($filen);
krsort($lolo);
foreach($lolo as $line2)
{
$j++;
if($j<=$chislo) echo $line2."<br><br>";
}
?>
Сохраните этот файл в папке novosti под названием nov1.php. Обратите внимание, файл должен сохраниться именно с расширением php. Попробуйте разобраться в этом коде самостоятельно, не подсматривая разбор кода ниже. Если это у вас вызывает затруднения, то еще раз прочтите предыдущую главу, где мы разбирали функции работы со строками и массивами. Разберем теперь строчки кода листинга 5.3:
< ?php
$filen=”novosti.txt”; - записываем в переменную $filen путь к текстовому файлу с новостями. Поскольку этот файл находится в той же папке novosti, что и данная программа, мы указываем просто название файла;
$chislo=5; - вводим переменную $chislo и присваиваем ей число 5. Это будет количество выводимых новостей. Эта переменная будет подробно рассмотрена в конце кода;
$lolo=file($filen); - функция file создает массив строк из содержимого файла, указанного в переменной $filen и заносит весь этот массив в переменную $lolo. Таким образом, в переменной $lolo будет массив строк, которые мы писали в файле novosti.txt. Причем первая строчка будет иметь индекс 0, вторая – индекс 1 и т. д.;
krsort($lolo); – функция krsort сортирует массив по убыванию значений индексов. Это делается для того, чтобы свежие новости были вверху, т. е. строки из файла novosti.txt выводились бы снизу вверх;
foreach($lolo as $line2) - функция foreach обходит массив, указанный в переменной $lolo, построчно, т. е. выполняется цикл, причем столько раз, сколько строчек в массиве $lolo (у нас их семь). При каждом выполнении цикла переменной $line2 присваивается содержимое очередной строки, которое потом будет выводиться в окно браузера;
1{
$/++; – вводим счетчик цикла для подсчета количества новостей или других записей. При каждом исполнении цикла, он будет увеличиваться на единицу;
if($j<=$chislo) echo $line2.”<br><br>”; - проверяется условие. Если счетчик цикла $j меньше или равен числу в переменной $chislo, то в окно браузера выводится очередная строка из текстового файла с новостями. В переменной же $chislo, как было указано выше, мы будем указывать количество новостей, которое нужно будет вывести в браузер. Например, если у нас 1000 новостей, но нам нужно показать на странице только 5 последних, то в начале этого кода или же в коде той страницы, куда мы вставим данный код (при помощи оператора include) нужно указать, что $chislo=5 (именно так у нас и сделано). Все, код разобран. Между новостями я поставил два html-оператора перевода строки <br>. Естественно, они должны быть заключены в кавычки и присоединены к строке с помощью точки (оператора конкатенации).
1}
?>
Итак, мы создали программу для вывода на страницу новостей сайта. Запустите в PHP-редакторе созданную программу. Слева вы увидите 5 последних строчек. Первой строкой у нас будет самая последняя строка в текстовом файле novosti.txt, а именно строка с надписью: седьмая новость. Далее идет шестая строка, пятая, четвертая, третья. Вторая и первая строки уже не выведутся в браузер, поскольку мы указали в коде, что нужно вывести только 5 новостей (строка с условием if($j<=$chislo) или if($j<=5)). Если надо вывести все новости, которые есть и будут, то установите, например, значение переменной $chislo-1000. Все новости, пока их не больше тысячи, будут выведены в браузер.
Давайте создадим теперь простую страницу новостей, куда мы и вставим файл с кодом nov1.php. В PHP-редакторе создайте новый файл и сохраните его под названием nov2.php. При помощи html-тегов создайте дизайн для этой страницы на ваше усмотрение. Я не буду создавать здесь красивый дизайн, поскольку это выходит за рамки данной книги. Я набрал примерно такой код:
Листинг 5.4 (файл nov2.php)
<html> <head>
<titlе>Новости сайта </title> <style type="text/css">
#lolo{font-size:12pt; color: brown;
font-family:Comic Sans MS}
</style
</head>
<body bgcolor="cyan">
<center><b id="lolo"
style="font-size:20pt">Новости сайта</b></center>
<br> <table width="50%" border="2" bordercolor="green"
bgcolor="silver" id="lolo"<tr><td> <?php
include ("nov1.php");
?>
</td></tr></table><br>
</body>
</html>
Разберем этот код, хотя все должно быть вам понятно и так, но, как говорят, повторение – мать учения:
<html> – начало HTML-кода; <head>
<title>Новости сайта</title> - вводим заголовок страницы; <style type=”text/css”> - открываем таблицу стилей;
#lolo{font-size: 12pt; color.red; font-family:Comic Sans MS} - вводим произвольный идентификатор стиля lolo, где указываем размер, цвет и тип шрифта;
</style> – закрываем таблицу стилей;
</head>
<body bgcolor=”cyan”> – открываем тег основной части кода, где устанавливаем цвет фона cyan для всей страницы;
<center><b id=”lolo” style=”font-size:20pt”>Новости сайта</b></center> <br> - выводим надпись в начале страницы, помещая ее в центр при помощи тегов <center> и </center>. В теге <b>, указывающем на жирный шрифт, мы вводим идентификатор стиля lolo (он был указан выше, в таблице стилей <style>), т. е. мы указываем браузеру, что между тегами <b> и </b> будет располагаться текст с типом шрифта Comic Sans MS коричневого цвета.
Размер шрифта решил сделать побольше, дополнительно указав: style=”font-size:20pt”;
<table width=”50%” border=”2″ bordercolor=”green” bgcolor=”silver” id=”lolo”><tr><td> – создаем простую таблицу, шириной в половину от общей ширины окна браузера. Далее указываем на ширину линий таблицы (border=”2″), цвет линий (bordercolor=”green”), цвет фона (bgcolor=”silver”). Затем снова указываем идентификатор lolo, т. е. устанавливаем размер, цвет и тип шрифта, как было указано в начале кода, в таблице стилей. После открываем единственную строку таблицы при помощи тега <tr> и первую (и единственную) ячейку в этой строке при помощи оператора <td>;
<?php - начало PHP-кода, т. е. вставляем PHP-код внутри HTML-кода; include (”nov1.php”); - вставляем код для вывода новостей в браузер, который у нас на странице nov1.php. Новости будут выведены в нашу одноколонную таблицу;
?> - конец РНР-кода;
</td></tr></table><br> – закрываем ячейку, строку и саму таблицу; </body> – закрываем основную часть HTML-кода; </html> - конец HTML-кода.
Запустите в браузере созданную страницу nov1.php.



