Несомненно, php поднял развитие сайтов на новый уровень, я уже не могу себе представить свои проекты без php. Вспоминаю как раньше я делал сайты на html и ужасаюсь, хватало же терпения редактировать постоянно одни и те же элементы ради хоть какого-то изменения сайта.
Эта статья для тех, кто до сих пор делает сайты на html, тут я покажу несколько полезных и простых примеров на php, чтобы показать что вы теряете.
Статья также будет хорошей шпаргалкой для тех, кто уже начал изучать программирование на php.
Я постараюсь преподнести вам эти примеры в порядке возрастания их сложности.
Какая версия php у меня установлена?
Прежде чем работать с php было бы неплохо узнать установлин ли у вас php и узнать какая
именно версия. Выполнять поставленную задачу будем с помощью встроенной функции phpinfo(), которая кроме версии php покажет нам детальный отчёт о всех его настройках.
Посмотрите пример вывода информации данной функции, чтобы вывести подобное на своём сайте, создайте страницу с расширением .php и вставьте туда следующий код:
phpinfo();
Время на сайте (сервере)
С помощью php легко узнать текущее время на сервере, например, во время загрузки на сервере было 15:15:11 09.06.2012, но в отличии от javascript это время не меняется онлайн, т.е. отображается то время, которое было на сервере в момент загрузки данной страницы.
Чтобы вывести дату на сайте нужно воспользоваться функцией date().
echo date('H:i:s d.m.Y');
Маленькая хитрость: обычно в конце страницы ставят копирайт так Copyright © JohnCMS, 2012. Обратите внимание на дату, она выводится с помощью php и в этом случае не нужно каждый год вручную подправлять число.
Как определить IP-посетителя
При написании скрипта для добавления комментариев неплохо бы кроме вводимых пользователем данных писать в базу данных ещё и его IP-адрес, мало ли пригодится. Узнать IP адрес пользователя можно с помощью функции getenv('REMOTE_ADDR')
echo getenv('REMOTE_ADDR');
Вычисляем время выполения php-скрипта (загрузки страницы)
При программировании на php немаловажно уделить внимание скорости загрузки срипта.
Слишком долго выполняющиеся скрипты могут сильно грузить сервер, при высокой посещаемости ресурса будут происходить сбои всего сайта из-за таких скриптов. Чтобы узнать сколько времени работает скрипт (грузится страница), воспользуйтесь таким примером php-кода:
define('ST_T', microtime()); //начало
echo '<p>Контент страницы, скрипты и т.п.</p>';
printf('Страница сгенерирована за %.5f сек.', microtime()-ST_T); //конец
В среднем время загрузки не должно превышать 0,1 сек., если скрипт выполняется более чем за 0,5 сек, то вам стоит пересмотреть ваш скрипт. Время загрузки зависит не только от скрипта, но и от самого сервера, так на локальном компьютере скрипт может работать в разы быстрее, чем на виртуальном хостинге.
PHP-скрипт случайных чисел
При написании скриптов случается нужно сгенерировать случайное число, это можно сделать при помощи функции rand().
echo rand(1,100);
В данном случае будет генерироваться случайное число от 1 до 100.
Список файлов из папки
С помощью php можно просканировать папку с файлами и вывести результат на экран, возможно вам пригодится это при создании всевозможных файловых хранилищ.
$files_arr = scandir('14'); //выведем содержимое массива на экран
echo '<pre>';
print_r($files_arr);
echo '</pre>';
Вот вам пример работы этого скрипта:
Array
(
[0] => .
[1] => ..
[2] => date.html
[3] => file_get_contents.html
[4] => load.html
[5] => phpinfo.html
[6] => rand.html
)
Какой размер файла
Если нужно узнать размер файла, например картинки, то воспользуемся функцией filesize(), она покажет нам размер файла в байтах.
echo filesize('image.jpg').' байт';
Скачать файл скриптом
Если нужно зашифровать для каких-то целей исходную папку с файлами, но дать возможность пользователям скачивать из неё файлы, т.е. сделать нечто похожее на файлообменник, то можно воспользоваться следующим примером кода:
$filename = 'file.zip'; //файл для скачивания
$filefolder = 'folder/'; //секретная папка
$filesize = filesize($filefolder.$filename);
header('HTTP/1.1 200 OK');
header('Connection: close');
header('Content-Type: application/octet-stream');
header('Accept-Ranges: bytes');
header('Content-Disposition: attachment; filename='.$filename);
header('Content-Length: '.$filesize);
readfile($filefolder.$filename);
Если обратиться к файлу с таким скриптом, то начнётся скачивание файла file.zip из папки folder, но пользователь никогда не узнает из какой же папки происходит скачивание, а значит и не узнает его истиного пути, в нашем случае это
http://сайт.ру/folder/file.zip
Чтобы защитить нашу секретную папку от тех, кто всё же узнает про неё, воспользуйтесь файлом .htaccess, с помощью которого можно запретить доступ ко всем файлам, находящимся в этой папке, но при этом их можно будет скачивать нашим скриптом.
Сканируем чужие сайты
Вот уж где находка вора, с помощью функции file_get_contents() вы можете открывать на своих страницах чужие сайты.
echo file_get_contents('http://vk.com/p2808');
Злоупотреблять этой функцией не нужно, иначе можно доиграться!
Адрес сайта
С помощью функции $_SERVER['HTTP_HOST'] можно сказать пользователю на каком сайте он находится или использовать для подставновки в своих скриптах.
echo 'Вы находитесь на сайте '.$_SERVER['HTTP_HOST'];
Результат: Вы находитесь на сайте johncms.com
На этом простые примеры я закончу, а вам желаю творческих успехов в вашей работе и надеюсь полученная информация вам пригодится.