Все ленты — последние статьи

Самый быстрый способ определить количество пользователей на сайте онлайн

Наверное, путешествуя в Сети, вы не раз натыкались на подобного типа надпись «Сейчас на сайте 99 человек», что означает, что кроме вас в данный момент этот сайт просматривает 98 человек. Скорее всего, вы хотели написать такую вещь, но не знали как. Следующая статья покажет как самому написать скрипт, считающий количество посетителей на сайте в данный момент, то есть онлайн.

В Интернете много готовых скриптов, позволяющих считать пользователей онлайн, но раз вы читаете эту статью, значит, вы как и я не особо любите ковыряться в чужом коде. Ну, в таком, случае, давайте, напишем такой скрипт сами. Но прежде поговорим о его преимуществах и недостатках.
Преимущества

Ему не нужна реляционная база данных, что согласитесь, в нашем Рунете (я имею в виду относительно бесплатную его часть), является несомненным преимуществом.
Опять же несомненным преимуществом является скорость. Я не поленился написать подобный скрипт с использованием БД и при помощи функции microtime() (в самом низу — результат ее работы — «Время генерации: …») измерил время выполнения:

Подробнее: Самый быстрый способ определить количество пользователей на сайте онлайн

5 полезных примеров использования PHP


1. Генерируем CSV

Часто в разных проектах встречаются попытки конвертировать многоразмерный массив данных в CSV с помощью подобного кода:
1 <?php
2 $csv = "";
3 foreach ($data as $row) {
4 $csv .= join(",", $row) . "n";
5 }
6 echo $csv;

Проблема заключается в том, что отдельные элементы не обрабатываются корректно. Значения с кавычками или запятой могут проскочить через дешифратор и позже распознаваться как данные CSV формата. Существенно лучше будет использовать встроенную функцию fputcsv(). Она должна выполняться быстрее, так как реализована на С, и обрабатывает все необходимые кавычки и разделители.

Подробнее: 5 полезных примеров использования PHP

Создаем единую страницу для обработки ошибок

В данном уроке представлено очень простое решение для обработки различных ошибок HTTP, таких как 404, 500 и так далее, в одном файле PHP. Нужно создать массив кодов ошибок и установить правила перенаправления на наш PHP файл. То есть, можно использовать одну страницу для обработки нескольких ошибок.


Перенаправление

В файле .htaccess вашего сервера нужно установить правила для обработки ошибок. В нашем случае мы будем перенаправлять все ошибки в наш файл errors.php, который будет формировать страницу HTML для посетителя. Добавляем в файл .htaccess следующие правила:
1 ErrorDocument 400 /errors.php
2 ErrorDocument 403 /errors.php
3 ErrorDocument 404 /errors.php
4 ErrorDocument 405 /errors.php
5 ErrorDocument 408 /errors.php
6 ErrorDocument 500 /errors.php
7 ErrorDocument 502 /errors.php
8 ErrorDocument 504 /errors.php

Подробнее: Создаем единую страницу для обработки ошибок

Автоматическое резервное копирование базы данных

Каждая база данных нуждается в резервном копировании. Если вы делаете его вручную, то пора переходить к автоматическому варианту с использованием простого решения на PHP. C помощью данного скрипта вы сможете сохранять отдельную таблицу или всю базу целиком.


Как использовать

Самый лучший способ — скопировать код и разместить его в папке с названием ‘database_backups’ как показано ниже на своем веб сервере. Затем при любом вызове файла backup.php будет создавать резервную копию и сохранять ее в туже папку. Останется только скачать копию в другое место для надежного хранения и использования в случае необходимости.

 

Резервное копирование базы данных
Используем CRON

Cron — планировщик задач, который позволяет вам запускать определенные скрипты в заданное время. Например, можно делать резервную копию базы данных каждую ночь, когда трафик достаточно низок. Если ваш хостинг разрешает использовать CRON, то для запуска резервного копирования можно использовать следующую команду, которую нужно занести в таблицу crontab.
1 wget -O /dev/null http://ваш_сайт.com/database_backup/backup.php

Подробнее: Автоматическое резервное копирование базы данных

Включены ли Cookie?

Проверка: включены ли cookie у пользователя

 

<?php   // это небольшой проверочный скрипт, выясняющий,   // включены ли cookies у пользователя     if(empty($_GET["cookie"]))   {     // посылаем заголовок переадресации на страницу,     // с которой будет предпринята попытка установить cookie      header("Location: $_SERVER[PHP_SELF]?cookie=1");     // устанавливаем cookie с именем "test"     setcookie("test","1");    }   else   {     if(empty($_COOKIE["test"]))     {       echo("Для корректной работы приложения необходимо включить cookies");     }     else     {       // cookie включены, переходим на нужную страницу:       header("Location: http://localhost/");       // здесь посылается заголовок, содержащий адрес нужной страницы     }   } ?>