Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

11.8. Счетчик посещений

Если вы внимательно ознакомились с ранее приведенным материалом, вы без труда получите стартовый капитал знаний, и он даст вам возможность самостоятельно в дальнейшем изучать язык РНР. Хотелось бы предложить вам в качестве примера по выражениям код скрипта, который позволит организовать на любой из страниц вашего сайта счетчик посещений. Этот счетчик не будет полнофункциональным, так как имеет достаточно много недостатков, но как пример применения РНР вполне годится. В любом месте вашей странички (но только там, где это нужно) вставьте следующий код:

<Р>Посетителей странички -

<?php

$filename = "counter.dat";

$fp = @fopen($filename, "r");

if ($fp) {

    $counter = fgets($fp, 10);

    fclose($fp);

}

else {

    $counter = 0;

    $counter++;

    echo $counter;

    $fp = @fopen($filename, "w");

    if($fp) {

        $counter = fputs ($fp, $counter) ;

        fclose($fp);

    }

}

?>

</P>

В том же каталоге, что и ваша страничка, создайте файл counter.dat, поместите его на сервер и с помощью FTP-менеджера измените атрибуты этого файла таким образом, чтобы он был доступен для записи. Обычно нужно установить галочки на всех атрибутах файла. Если вы этого не сделаете, скрипт будет постоянно выдавать ошибку при попытке записи в файл. Кстати, для того чтобы этого не произошло, стоит поставить перед командой записи и открытия файла символ он отменит вывод сообщения о возникнувшей ошибке на экран пользователя. Когда атрибуты изменены, обновите вашу страничку на сервере и обратитесь к ней по ее адресу в браузере. Вы увидите, что там, где вы вставили код РНР, появляется строка: «Посетителей странички-» и далее число, соответствующее количеству посещений. И никакого следа кода. Он был обработан на сервере в Интернете, а браузеру просто переведен результат этого исполнения.

Алгоритм этого скрипта очень прост. В первой строке присваивается выбранной переменной имя файла, в котором будетхраниться число посещений. Во второй — открывается соединение с этим файлом для чтения. Дальше проверяется успешность соединения с этим файлом для чтения, и если файл существует и он доступен для чтения, из него считывается строка из 10 байтов, которой более чем достаточно для счетчика, и соединение с файлом закрывается. Показания счетчика увеличиваются на единицу и его новое значение выводится на экран. На следующем этапе нужно записать новое значение счетчика, и для этого снова открывается соединение (дескриптор) с файлом, но уже на запись с очисткой содержимого файла. Если оно успешно, туда записывается новое значение счетчика и дескриптор файла закрывается.

<< Предыдущий параграф Следующий параграф >>
Оглавление