Генератор паролей на PHP

Пароль генерируется случайным образом при помощи функции uniqid. Эта функция возвращает уникальный идентификатор, основываясь на значениях текущего времени в микросекундах.

При таком варианте использования функции возвращается 128-битный хеш-код

Генерация пароля по аглоритму MD5

Однако полученный пароль содержит лишь буквы английского языка в нижнем регистре и цифры. Для генерации более стойкого к подбору паролей можно воспользоваться скриптом приведённым ниже.

Генерация “равномерного” пароля

Сессии в PHP

Сессии в PHP

Рассмотрим пример простой сессии, работающей с четырьмя страницами. Первая страница (page1.php) представляет собой простенькую формочку, где пользователь вводит имя, которое потом “запоминается”.

После того, как пользователь нажал “Enter”, он попадает на страницу page2.php, при посещении которой открывается сессия и регистрируется переменная $username.

После этого, пользователь нажимает на ссылку и попадает на страницу page3.php, при этом, как видно, его имя “не забыто”, т.е. переменная сессии не уничтожается, когда пользователь перешел на другую страницу сайта.

При нажатии на ссылку, пользователь попадает на страницу page4.php, в результате чего происходит разрегистрация сеансовой переменной и уничтожение сессии.

После разрегистрации сеансовой переменной значение массива $_SESSION[‘username’] уже недоступно.

Более подробно о работе с сессиями вы можете почитать в нашем учебнике по языку PHP в разделе – Сессии и cookie в PHP

Первая страница (page1.php)

Вторая страница (page2.php)
Открывается сессия и регистрируется переменная $username.
Третья страница (page3.php)
Сессия сохранена. Имя пользователя не забыто.
Четвертая страница (page4.php)
Разрегистрация сеансовой переменной и уничтожение сессии.

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

Как проверить включен ли cookie у пользователя с помощью php?код ниже поможет решить данный вопрос

Отправка почты на php (Функция mail)

Отправка почты осуществляется с помощью специального созданного PHP клаccа для отправки сообщений

Сохраните класс отправки почты под именем mail_class.php. Скрипт проверки можете сохранить под любым именем, например sendmail.php.
Внимание! В тексте скрипта предварительно подставьте реальный почтовый адрес. Запустите на выполнение проверочный скрипт sendmail.php. Если все сработало правильно, то вам придет письмо на тот адрес, что вы указали в проверочном скрипте.
… Хотя в некоторых случаях подобное письмо может не дойти до адресата. Например, оно может быть заблокировано антиспамовыми фильтрами.

Проверочный скрипт (senmail.php)

Подсчёт числа строк в программном проекте

Функция предназначена для подсчёта числа строк в программных проектах, состоящих из множества вложенных директорий. Конечно, число строк не может свидетельствовать в полной мере о затраченных усилиях и времени на программный проект, но является важным показателем в оценке сложности проекта.

Код рекурсивной фукнции scan_dir, которая обходит директории

Воспользоваться результатами можно при помощи следующего кода

Код вызова функции scan_dir()

Пример загрузки файлов на сервер (upload) на языке php

Приложение для загрузки файлов на сервер представляет собой HTML-форму (upload.html) и скрипт upload.php для ее обработки.

Замечание: Вы можете загрузить промышленную версию системы загрузки файлов на сервер из раздела downloads. Система Image Java Editor позволит вам не только загрузить файл на сервер, но и изменить его размер, фон и др.

Код формы (upload.html)

Код скрипта обработки формы (upload.php)

Атрибут entype формы определяет вид кодировки, которую браузер применяет к параметрам формы. Для того чтобы отправка файлов на сервер действовала, атрибуту entype необходимо присвоить значение multipart/form-data. По умолчанию этот атрибут имеет значение application/x-www-form-urlencoded.

Элемент ввода этой формы должен иметь тип file.

После того, как получен HTTP-запрос, содержимое загруженного файла записывается во временный файл, который создается в каталоге сервера, заданном по умолчанию для временных файлов, если другой каталог не задан в файле php.ini (директива upload_tmp_dir).

Характеристики загруженного файла доступны через двумерный массив $_FILES.

Cкрипт upload.php загружает файл на сервер и копирует его в каталог /path/to/file/.

В некоторых случаях требуется ограничить размер файла, который может быть загружен на сервер. К примеру, чтобы разрешить загрузку на сервер только файлов с размером не более 3 Мбайт, в приведенном скрипте содержится код:

Максимальный размер загружаемого файла можно также задать при помощи директивы upload_max_filesize, значение которой по умолчанию равно 2 Мбайт:

Отправка почты на php (Функция mail)

Функция предназначена для отправки письма с сайта с вложенным файлом и разработана участниками нашего форума Trianon и elenaki во время совместного обсуждения. Создадим HTML-форму, предназначенную для заполнения пользователем

HTML-форма index.php

Обработчик simple_mail.php HTML-формы index.php может выглядеть следующим образом

Обработчик simple_mail.php

Замена строки во всех файлах директории с неограниченным числом вложенных поддиректорий

Функция предназначена для рекурсивного спуска по всем вложенным поддиректориям корневой директории и замене заданной подстроки во всех встреченых файлах.

Код рекурсивной фукнции scan_dir(), которая обходит директории

Воспользоваться результатами можно при помощи следующего кода

Код вызова функции scan_dir()

Постраничная навигация на файлах

Скрипт предназначен отображения определённого числа позиций из файла и генерации ссылок на следующие позиции. Пусть имеется файл text.txt следующего формата.

Файл данных text.txt

Тогда скрипт, выводящий по три позиции на странице может выглядеть так, как это представлено ниже

Постраничная навигация

Резервное копирование на PHP

Наверняка многие имеют в хояйстве внешний жёсткий диск (стоит удовольствие около 100$) или Flash-ку внушительных размеров (дороже, но компактнее), однако до резервного копирования критически важных данных руки не доходят, так как их занимают критически важные задачи :))). При помощи PHP можно осуществлять резервное копирование при помощи нажатии одной клавиши мыши или кнопки Enter. Допустим производится копирование всей информации с диска D: на диск H:, причём таким образом, чтобы все данные, предварительно записанные на диск H: уничтожались. Решить эту задачу можно при помощи рекурсивного спуска по дереву каталогов, так как это описывается ниже.

Можно, конечно запускать этот скрипт через локальный Apache, но боюсь, что вам это надоест через неделю – хорошо бы организовать что-то попроще. Для того чтобы в Windows скрипты воспринимались как исполняемые программы, необходимо привязать обработчик PHP к расширению *.php. Для этого выделите любой PHP-файл и в контекстном меню выберите пункт Свойства. После чего, нажмите кнопку Изменить. В открывшемся окне выберите кнопку Найти. В открывшемся диалоговом окне выберите файл C:\PHP\php.exe

В корневой директории PHP находится три исполняемых модуля: php.exe, php-cgi.exe и php-win.exe. php-cgi.exe предназначен для совместной работы с Web-сервером, именно он обрабатывает запросы к PHP-скриптам, если PHP установлен не модулем. php.exe предназначен для консольной обработки скриптов, при его запуске появляется чёрное окно консоли, в которую выводится весь внешний вывод скрипта. php-win.exe позволяет запускать PHP-скрипты без открытия окна консоли в качестве процесса со скрытым окном. Если вы не хотите, чтобы при запуске PHP-скриптов открывались окна, можно выбрать именно этот обработчик.

Теперь можно и иконку скрипта на рабочий стол вытащить – по крайней мере перед глазами будет. Однако лень человеческая не знает границ, иначе бы не появились компьютеры. Хорошо бы заставить это чудо инженерной мысли самостоятельно запускать процесс резеврного копирования. Обычно для этого применяют cron.

Классическую реализацию cron для Windows можно загрузить по адресу http://www.nncron.ru/download.shtml. На странице представлено две версии cron – nnCron, условно бесплатная программа с Windows-интерфейсом и nnCron LITE – бесплатная программа, с классическим интерфейсом через конфигурационный файл crontab. Рекомендуется использовать именно nnCron LITE, так как знание синтаксиса конфигурационного файла cron.tab позволит без труда работать с UNIX-версией cron на сервере хост-провайдера. На странице http://www.nncron.ru/download.shtml можно также обнаружить русскую документацию по синтаксису cron.tab и различные плагины к nnCron.

Столь не хитрые манипуляции избавят вас от проблемы резервного копирования и организации рейд-массивов в домашних условиях, которые на платах начального уровня работают через пень колоду.