<?xml version="1.0" encoding="utf-8"?>
<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink">
<description>
<title-info>
<genre>sf_history</genre>
<author><first-name>Имя автора</first-name><last-name>Фамилия автора</last-name></author>
<book-title>Простые примеры PHP</book-title>
<date>Дата</date>
<lang>ru</lang>
</title-info>
<document-info>
<author><nickname></nickname></author>
<program-used>Lib converter jcms</program-used>
<id></id>
<version>1.0</version>
</document-info>
</description>
<body><title><p>Простые примеры PHP</p></title>
<section><p>Несомненно, php поднял развитие сайтов на новый уровень, я уже не могу себе представить свои проекты без php. Вспоминаю как раньше я делал сайты на html и ужасаюсь, хватало же терпения редактировать постоянно одни и те же элементы ради хоть какого-то изменения сайта.</p>
<p>Эта статья для тех, кто до сих пор делает сайты на html, тут я покажу несколько полезных и простых примеров на php, чтобы показать что вы теряете.</p>
<p>Статья также будет хорошей шпаргалкой для тех, кто уже начал изучать программирование на php.</p>
<p>Я постараюсь преподнести вам эти примеры в порядке возрастания их сложности.</p>
<p>[b]Какая версия php у меня установлена?[/b]</p>
<p>Прежде чем работать с php было бы неплохо узнать установлин ли у вас php и узнать какая</p>
<p>именно версия. Выполнять поставленную задачу будем с помощью встроенной функции phpinfo(), которая кроме версии php покажет нам детальный отчёт о всех его настройках.</p>
<p>Посмотрите пример вывода информации данной функции, чтобы вывести подобное на своём сайте, создайте страницу с расширением .php и вставьте туда следующий код:</p>
<p>[php]phpinfo();[/php]</p>
<p>[b]Время на сайте (сервере)[/b]</p>
<p>С помощью php легко узнать текущее время на сервере, например, во время загрузки на сервере было 15:15:11 09.06.2012, но в отличии от javascript это время не меняется онлайн, т.е. отображается то время, которое было на сервере в момент загрузки данной страницы.</p>
<p>Чтобы вывести дату на сайте нужно воспользоваться функцией date().</p>
<p>[php]echo date('H:i:s d.m.Y');[/php]</p>
<p>Маленькая хитрость: обычно в конце страницы ставят копирайт так Copyright © JohnCMS, 2012. Обратите внимание на дату, она выводится с помощью php и в этом случае не нужно каждый год вручную подправлять число.</p>
<p>[b]Как определить IP-посетителя[/b]</p>
<p>При написании скрипта для добавления комментариев неплохо бы кроме вводимых пользователем данных писать в базу данных ещё и его IP-адрес, мало ли пригодится. Узнать IP адрес пользователя можно с помощью функции getenv('REMOTE_ADDR')</p>
<p>[php]echo getenv('REMOTE_ADDR');[/php]</p>
<p>[b]Вычисляем время выполения php-скрипта (загрузки страницы)[/b]</p>
<p>При программировании на php немаловажно уделить внимание скорости загрузки срипта.</p>
<p>Слишком долго выполняющиеся скрипты могут сильно грузить сервер, при высокой посещаемости ресурса будут происходить сбои всего сайта из-за таких скриптов. Чтобы узнать сколько времени работает скрипт (грузится страница), воспользуйтесь таким примером php-кода:</p>
<p>[php]</p>
<p>define('ST_T', microtime()); //начало</p>
<p>echo 'Контент страницы, скрипты и т.п.</p>
<p>';</p>
<p>printf('Страница сгенерирована за %.5f сек.', microtime()-ST_T); //конец</p>
<p>[/php]</p>
<p>В среднем время загрузки не должно превышать 0,1 сек., если скрипт выполняется более чем за 0,5 сек, то вам стоит пересмотреть ваш скрипт. Время загрузки зависит не только от скрипта, но и от самого сервера, так на локальном компьютере скрипт может работать в разы быстрее, чем на виртуальном хостинге.</p>
<p>[b]PHP-скрипт случайных чисел[/b]</p>
<p>При написании скриптов случается нужно сгенерировать случайное число, это можно сделать при помощи функции rand().</p>
<p>[php]echo rand(1,100);[/php]</p>
<p>В данном случае будет генерироваться случайное число от 1 до 100.</p>
<p>[b]Список файлов из папки[/b]</p>
<p>С помощью php можно просканировать папку с файлами и вывести результат на экран, возможно вам пригодится это при создании всевозможных файловых хранилищ.</p>
<p>[php]$files_arr = scandir('14'); //выведем содержимое массива на экран</p>
<p>echo '';</p>
<p>print_r($files_arr);</p>
<p>echo '';[/php]</p>
<p>Вот вам пример работы этого скрипта:</p>
<p>Array</p>
<p>(</p>
<p>[0] =&gt; .</p>
<p>[1] =&gt; ..</p>
<p>[2] =&gt; date.html</p>
<p>[3] =&gt; file_get_contents.html</p>
<p>[4] =&gt; load.html</p>
<p>[5] =&gt; phpinfo.html</p>
<p>[6] =&gt; rand.html</p>
<p>)</p>
<p>[b]Какой размер файла[/b]</p>
<p>Если нужно узнать размер файла, например картинки, то воспользуемся функцией filesize(), она покажет нам размер файла в байтах.</p>
<p>[php]echo filesize('image.jpg').' байт';</p>
<p>[/php]</p>
<p>[b]Скачать файл скриптом[/b]</p>
<p>Если нужно зашифровать для каких-то целей исходную папку с файлами, но дать возможность пользователям скачивать из неё файлы, т.е. сделать нечто похожее на файлообменник, то можно воспользоваться следующим примером кода:</p>
<p>[php]</p>
<p>$filename = 'file.zip'; //файл для скачивания</p>
<p>$filefolder = 'folder/'; //секретная папка</p>
<p>$filesize = filesize($filefolder.$filename);</p>
<p>header('HTTP/1.1 200 OK');</p>
<p>header('Connection: close');</p>
<p>header('Content-Type: application/octet-stream');</p>
<p>header('Accept-Ranges: bytes');</p>
<p>header('Content-Disposition: attachment; filename='.$filename);</p>
<p>header('Content-Length: '.$filesize);</p>
<p>readfile($filefolder.$filename);</p>
<p>[/php]</p>
<p>Если обратиться к файлу с таким скриптом, то начнётся скачивание файла file.zip из папки folder, но пользователь никогда не узнает из какой же папки происходит скачивание, а значит и не узнает его истиного пути, в нашем случае это http://сайт.ру/folder/file.zip</p>
<p>Чтобы защитить нашу секретную папку от тех, кто всё же узнает про неё, воспользуйтесь файлом .htaccess, с помощью которого можно запретить доступ ко всем файлам, находящимся в этой папке, но при этом их можно будет скачивать нашим скриптом.</p>
<p>[b]Сканируем чужие сайты[/b]</p>
<p>Вот уж где находка вора, с помощью функции file_get_contents() вы можете открывать на своих страницах чужие сайты.</p>
<p>[php]</p>
<p>echo file_get_contents('http://vk.com/p2808');</p>
<p>[/php]</p>
<p>Злоупотреблять этой функцией не нужно, иначе можно доиграться!</p>
<p>[b]Адрес сайта[/b]</p>
<p>С помощью функции $_SERVER['HTTP_HOST'] можно сказать пользователю на каком сайте он находится или использовать для подставновки в своих скриптах.</p>
<p>[php]</p>
<p>echo 'Вы находитесь на сайте '.$_SERVER['HTTP_HOST'];</p>
<p>[/php]</p>
<p>Результат: Вы находитесь на сайте johncms.com</p>
<p>На этом простые примеры я закончу, а вам желаю творческих успехов в вашей работе и надеюсь полученная информация вам пригодится.</p>
</section>
</body>
</FictionBook>