Nickolay.info. PHP

Раздел содержит некоторые мои скрипты, написанные на PHP. В работе показано не всё - что-то писалось во времена хостинга narod.ru, что-то просто некуда было поместить :) Часть скриптов лежит "в работе" на других серверах.

Статьи и примеры по PHP - ниже в этом документе, там много небольших Web-приложений в исходниках и онлайн. См. также: Perl

В некоторых старых скриптах может быть использован так называемый стиль разработчиков, при котором код PHP помещается в тег вида

<? Код PHP ?>

Для поддержки такого стиля в файле php.ini должна быть включена директива

short_open_tag = On

- до недавнего времени так и было по умолчанию. Начиная с версий 5.3.X такой тег может по умолчанию не работать, тогда достаточно во всех файлах с кодом заменить строку <? на <?php - чтобы получить "стиль XML" написания PHP-кода:

<?php Код PHP ?>

Ещё проще включить директиву в Вашем файле настроек php.ini

Если стиль ссылки вот такой, значит, она ведёт на страницу скрипта в блоге.

Скрипты на PHP

Скрипты на PHP - мультиплатформенные, интерпретатор - не ниже PHP 4.3.1, если не оговорено иного. Все скрипты (если они требуют настроек) настроены на работу в папке, созданной непосредственно в корневой папке сервера. На сервере IIS, встроенном в Windows, при конфигурации по умолчанию эту будет папка с адресом вида c:\Inetpub\wwwroot\Имя_папки_скрипта

15. Simple JQuery Chat - простой чат на JQuery

14. Datediff - определение разницы дат

13. JQuerySite - лента новостей с jQuery

12. SectorDiagram - построение круговой диаграммы на PHP. Страница скрипта SectorDiagram

11. SunRise - определение времени восхода и заката Солнца для текущей даты, продолжительности дня, времени полдня и сумерек для Вашего города (Россия, Украина, Белоруссия, некоторые другие страны). Страница скрипта SunRise

10. Ekmanfaces - скрипт-тест "Лица Экмана"

9. Gallery - простая, компактная, легко настраиваемая фотогалерея на PHP. Не требует MySQL. Страница скрипта Gallery

8. PHPMailer - "скрипт для начинающего спамера" или почта с любого адреса. Также говорится о работе с библиотекой TinyMCE - визуальным Javascript-редактором кода HTML. Страница скрипта PHPMailer

7. User Queries - добавляем на страницу PHP популярные запросы, с которыми на нее приходили с определением поисковиков. Страница скрипта User Queries

6. Geniot - генератор синтаксически правильного русского текста на основе словаря и парадигм предложений. PHP без MySQL, описание и демо - на странице скрипта Geniot.

5. CatsTree - учебный скрипт, иллюстрирующий построение дерева категорий любой сложности за 1 SQL-запрос. Описание и ссылка "скачать" на странице PHP-скрипта CatsTree.

4. Blognot - очень компактный (менее 100 Кб) и функциональный движок блога. Без рекламы, с полным web-администрированием и даже своего рода "облачком тегов". Описание и ссылка - на странице бесплатной версии Blognot.

Скрипты 1-3 весьма старые, в настоящее время будут, без сомнения, заспамлены, зато могут подойти в качестве учебных :)

3. Система управления сайтом MiniCMS. Компактная и простая система для поддержки динамического сайта на PHP+MySQL. Описание и ссылка - на странице MiniCMS.

2. Доска объявлений. Можно отвечать на сообщения, есть поиск по сообщениям. По истечении месяца сообщения автоматически переносятся в категорию "старые". Выполните в MySQL Файл messageboard.sql для создания базы данных. О настройках читайте в файле readme.txt (phpboard.zip, 8 Кб)

1. Гостевая книга. Большой набор картинок для добавления в сообщения, администрирование с банами, список стоп-слов. Не требует MySQL. О настройках читайте в файле readme.txt, на забудьте проверить и изменить содержимое файла config.inc.php (phpguest.zip, 63 Кб)

Статьи и примеры по PHP

Установка PHP, обзоры языка, общие настройки, особенности PHP

Ставим PHP и MySQL под Windows XP
     Установка PHP 5.3.5 под IIS 5.1 или 6.0 (Windows Xp SP2/SP3) - дополнение к предыдущей статье
     Установка последних версий PHP, MySQL и PHPMyAdmin под Windows 7 - более новая версия статьи 1

Установка Denwer и Wordpress для полного чайника :)
     Если не запускается Denwer...
     Решаем проблему с Юникодом в Denwer’e
     Как на самом деле удалить Denwer
     Denwer 3 и PHP 5.5 - как их подружить?

Пишем плагин для WordPress
     Ставим плагин для WordPress "напрямую" с помощью ftp и phpMyAdmin

PHP не оптимизирует...

PHP - кратчайший обзор

Регулярные выражения - это просто
     Регулярное выражение для проверки правильности записи вещественного числа

Самое опасное в PHP или eval is evil

Ещё раз про кавычки, удаление пробелов и константы PHP_INI_*

Делаем сессию на PHP - с листингом

Используем статическую переменную класса и динамически формируем имя переменной класса

Класс для измерения временных промежутков и проверка существования функции

Скрипт, выводящий собственный текст

PHP и область видимости...

PHP: echo в бесконечном цикле и "бесконечное" время выполнения скрипта

Работа с формами, ввод-вывод, обработка данных пользователя

Передаем параметры формы PHP-скрипту

urlencode и urldecode - что нужно для скриптов в однобайтовой кодировке

Разбиваем вывод PHP на страницы

Делаем простую капчу с цифрами
     Как защититься от обращения к файлу минуя HTML-форму?

PHP - проверяем, включены ли в браузере клиента cookies

Защита форм от "доступа со стороны"

Простая проверка количества пользователей онлайн

Связанные списки на PHP и AJAX с минимумом кода

Ещё одна голосовалка на JQuery+PHP :)

Работа со строками на PHP

NL2BR (New Line To BReak) сервис

Sort & Unique strings сервис

Длина строки в Юникоде и расстояние между строками

Отфонаритель: Узнай Карму Любого Слова :)

42 или Длина Строки

Вычисление MD5, SHA1, CRC32 онлайн

Программируем HTML Color String

Работа с файлами, URL-адресами, почтой и базой данных

Пишем граббер на PHP
     Как быстро извлечь нужные данные с чужого сайта и показать у себя

Загрузка файлов на сервер с помощью PHP

О чтении большого файла на PHP...

PHP: 3 способа масштабирования рисунка при загрузке

Пример на работу с текстовым файлом в PHP
     Читаем числа из текстового файла в массив
     PHP: делаем "мини-БД" на текстовом файле

Построение дерева каталогов на PHP 5 и PHP 4

Самая простая CMS или пишем элементарный "движок" на PHP

Простейший скрипт на PHP+MySQL с базой данных и инсталлятором

Связь "многие ко многим" между двумя таблицами

Пишем ленту RSS на PHP

Извлечение всех ссылок из документа, заданного URL-адресом

Пишем "облако тегов" на PHP
     Логарифмируем облако тегов

Программная отправка письма с вложением

Проверка доступности сервера на PHP
     Проверка доступности сервера на PHP+JQuery

Открыт ли порт на сервере?

Внедрение новой строки во все документы статического сайта

"Перегоняем" большой txt (csv) в sql

Ищем буквы в словаре...

Оцениваем личное распределение абонентов по опсосам :)

Расчёты и математика на PHP

Конвертирование римских и арабских чисел

LDE (Linear Diofant Equation) - сервис для решения линейных диофантовых уравнений

Простейший калькулятор на функции PHP eval()

Медиана или среднее?..

Таблица умножения с кликабельными ячейками :)

Сервис для проверки числа на простоту и поиска целых делителей числа
     Эффективный поиск простых чисел на PHP

Повторюша :)

Пишем простой конвертер величин на PHP

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

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

"Инновационный" калькулятор или считаем всё сразу :)

Массивы

Фильтрация массива в PHP

Пишем простой тест на PHP

Количество раз, которое нужное значение встречается в массиве

Случайные числа, случайная выборка и генерация

Генерация случайных чисел на PHP

ORDER BY RAND()

PHP - простейшая генерация вариативного текста или Пушкинист
     Пушкинист-2, или ещё раз о простой генерации текста по шаблону

Ответ при наведении, база в 130000 вопросов и Как Выполнить Большой Запрос

Сервис генерации женских имён :)

Дата, время, календарь

UNIX TimeStamp online

Пишем класс на PHP. Класс календаря на PHP

Day Marks Calendar (Календарь с метками дней)

Ввод и обработка диапазона дат на PHP с помощью JQuery.DatePicker

Хранить ли дату как дату :)

Доброе время суток :)

Простое вычисление количества дней между датами?

Сколько до открытия? - виджет со стоп-датами для контроля времени работы винно-водочных магазинов :)
     JQuery: как обратиться из Javascript к базе данных

Делаем калькулятор дат и подсчёт дней по-современному

30 февраля или логичный календарь :)

Варианты календаря

Графика на PHP, формирование картинок по правилам

Рисуем звёзды на PHP

Таблица безопасных цветов Netscape на PHP

Кривая Серпинского на PHP

Числовые коды русских букв (построитель картинки)

Спиральные коврики из чисел

Градиент на PHP

Пишем простой интерпретатор-"рисовалку" на PHP

Серверная

Пишем собственную страницу обработки ошибок Apache (404 и др.)

Странная проблема с не менее странным решением (как уменьшить нагрузку на сервер в 50 раз :)

Разное, прочие сервисы и заметки, небольшие скрипты на PHP

И снова обновлять погодный сервис (пробуем openweathermap.org)
     Погодный сервис на Yahoo! Weather RSS Feed
     Делаем погодный сервис для сайта за 5 минут

Самые маленькие полезные скрипты на PHP :)

Сервис одним файлом

Привязываем к клиенту Javascript серверную часть на PHP

Модули на PHP для портала SetCMS

SetCMS (сайт www.setcms.org) - русский свободно развиваемый портал на текстовых файлах.

1. Модуль и блок "План-сетка". Модуль "План-сетка" позволяет администратору SetCMS-портала управлять картиной распределения ресурсов по месяцам (ресурсами могут быть, например, гостиничные номера). Ресурсы разбиваются на категории (для гостиничных номеров это категории "Стандарт", "Люкс" и т.п.), в настройках АдминПанели можно задать категории и число объектов в каждой из них (для гостиницы - число номеров каждого типа), а также число лет, на которые можно составлять план (по умолчанию 1 год, то есть, можно вывести любой месяц текущего и следующего года). Заголовок таблицы также задается админом в Настройках модуля.
К модулю прилагается блок, который служит ссылкой на план-сетку текущего месяца и показывает дату/время последнего редактирования плана плюс процент свободных ресурсов в последнем отредактированном админом месяце.
Версия 1 - упрощенная, там план-сетка выводится на число дней, заданное в настройках, уже прошедшие дни не могут быть выведены, а в каждой категории находится только 1 объект.
Настройки обычные - т.е., на файлы и подпапки данных, плюс на config.php ставится 777, на остальные файлы - права, достаточные для исполнения скрипта.
Посмотрите также скриншоты (новые окна)
Версия 2: plan_v2.zip, 6 Кб; (скриншот 1 - план-сетка, которую видит пользователь; скриншот 2 - общие настройки в админ-панели; скриншот 3 - редактирование плана в админ-панели)
Версия 1: plan_v1.zip, 5 Кб; (скриншот 1 - план-сетка, которую видит пользователь; скриншот 2 - общие настройки в админ-панели; скриншот 3 - редактирование плана в админ-панели)

2. Модуль "Сотрудники". Этот модуль позволяет средствами АдминПанели портала управлять записями о сотрудниках Вашей организации. Сотрудники разбиваются на категории (поддерживается 1 уровень категорий, например, "Дирекция", "Менеджеры", "Бухгалтерия" и т.п.), по каждой категории можно заполнять произвольное число произвольных полей, в каждой категории при этом должно быть указано одно главное поле, содержимое которого выводится в списке сотрудников (например, поле "Фамилия"). Первое создаваемое поле автоматически становится главным, потом можно поменять. Каждому сотруднику может быть загружено одно фото.
Возможности пользователя: просмотреть список категорий с числом сотрудников в каждой из них (скриншот 1), просмотреть список сотрудников в категории (скриншот 2), просмотреть существующую информацию о выбранном сотруднике (скриншот 3).
Возможности администратора: в главном разделе 3 основных пункта (скриншот 4). В общих настройках можно задать число сотрудников на экран, выдаваемое в списке и максимальные ширину и высоту фото. В редакторе категорий можно добавлять, удалять, перемещать вверх и вниз, а также править поля любой категории. В подредакторе правки полей (скриншот 5) можно аналогичным образом править отдельные поля, а также переносить всю структуру полей из другой существующей категории и указывать главное поле. Предусмотрено 3 типа полей - text, url и email. Тип поля влияет только на то, отображается его значение как строка, ссылка на URL-адрес или ссылка на адрес E-mail. Наконец, в редакторе "Сотрудники" (скриншот 6) можно добавлять, удалять, редактировать поля сотрудников, загружать фото созданным сотрудникам, переносить сотрудников в другую категорию (в этом случае предполагается, что структуры категорий совпадают, информация об уникальных для категории полях может быть утеряна), сортировать сотрудников категории по текущему главному полю.
Структура модуля и настройки: структура сохранена в архиве. Настройки прав обычные для портала - в папке modules/persons права, достаточные для исполнения php, в папках files/persons и images/persons - права 777. Аналогичные права могут понадобиться для папки, где php создает временные файлы (чтобы могли загружаться фото).
Для начала работы с модулем достаточно иметь пустой (0 байт) файл categories.set в папке files/persons
Скачать модуль: persons.zip, 10 Кб

Рейтинг@Mail.ru

вверх гостевая; E-mail