PHP: основы основ

Xakep, номер #048, стр. 048-090-4


w - только запись. Существующее содержимое файла уничтожается. Если файл не существует, то он создается.

w+ - аналогично w, но также возможно чтение файла.

a - только запись, данные дописываются в конец файла, если файл не существует, то он создается.

a+ - аналогично a, но также возможно чтение файла.

Общий принцип работы счетчика: открывается файл count.txt, оттуда читается некоторая цифра, значение которой увеличивается на единичку, после чего записывается обратно в файл. В зависимости от параметра $mode сценарий либо просто выводит на экран записанное в файл значение, либо производит замену всех десятичных чисел на html-теги, которые вставляют определенные для каждой из цифр изображения.

В данном случае используется цикл for от нуля до девятки, заменяющий при помощи функции ereg_replace('что_заменяем', 'чем_заменяем', где_заменяем) каждую десятичную цифру в строке тегом, вставляющим соответствующее цифре изображение.

То есть, если была строка "103", то при первой итерации цикла ноль будет заменен на тег , при второй единица заменится на , третья итерация замен не произведет (потому как в исходной строке нет двойки), а четвертый проход по циклу заменит тройку на .

Вот, пожалуй, и все. Поменьше тебе Parse Error'ов :). Если что - пиши, обязательно отвечу.

$counter="count.txt"; //Переменная с именем файла

$mode=graph; //переменная режима работы счетчика. Второе возможное значение - text

$file=fopen($counter, "r"); //Открываем файл с параметром r - только чтение

if(!$file) // функция fopen возвращает булевское значение, в зависимости от того, удалось открыть указанный файл или нет

{

echo "[Произошла ошибка]"; //Выводим сообщение об ошибке

} else {

$num=fread($file, 10); //Читаем первые 10 разрядов из открытого файла, этого более чем достаточно

fclose($file); //закрываем файл

}

$num++; //увеличиваем прочитанное значение на единицу

$no_graph=$num; //Присваиваем полученное значение переменной для использования в текстовом режиме

$file=fopen($counter, "w"); //открываем файл на запись

fputs($file, $num); //пишем в файл новое значение

if($mode=="graph") //проверяем параметр режима, если он графический...

{

for($i=0; $i<=9; $i++)

{

$num=ereg_replace("$i", "$i", $num); //Заменяем каждую десятичную цифру соответствующим тегом , вставляющим соответствующее замененной цифре изображение

}

echo "$num"; //Выводим все теги

} else { //А если не графический...

echo "Вы $no_graph посетитель этой страницы"; //просто выводим текстовое значение количества посетителей

}

// после закачивания скрипта на сервер обязательно надо поменять права доступа к нему, чтобы он запустился. Например, chmod 755, что даст владельцу файла полные права, а группе и прочим пользователям только на выполнение и чтение.

// Также следует создать файл count.txt и, записав в него нолик, закачать в один каталог со скриптом

Назад на стр. 048-090-3  Содержание