Что такое формат файла PHP?
Файл .php - это текстовый документ, содержащий исходный код, написанный на PHP (Hypertext Preprocessor), широко используемом языке сценариев на стороне сервера. Файл .php может содержать код PHP вперемешку с разметкой HTML, текстом, а также встроенными CSS или JavaScript.
Применение PHP-файлов
PHP-файлы используются для динамической генерации HTML-страниц с помощью серверного движка PHP. PHP-файлы также используются для создания веб-приложений. Веб-сайты обычно используют файлы .php для обработки онлайн-форм (например, формы контактных данных) или в качестве средства доступа к базам данных. WordPress, известная система управления контентом, активно использует PHP-скрипты, как и популярные фреймворки, такие как Laravel и Symfony.
Обработка PHP-файлов
Код PHP-файла обрабатывается движком PHP, находящимся на веб-сервере, который генерирует динамический HTML-вывод. Этот HTML-контент затем отправляется в веб-браузер пользователя и отображается как веб-страница. Этот процесс гарантирует, что фактический PHP-код недоступен пользователю даже при просмотре исходного кода страницы. Блоки кода PHP начинаются с открывающего тега <?php; закрывающий тег ?> намеренно опускается в конце файлов, содержащих только скрипт, чтобы предотвратить непреднамеренный вывод до отправки HTTP-заголовков.
Дополнительная информация
Безопасность и защита
РИСК: MEDIUMФайл .php - это программа, которая запускается НА СЕРВЕРЕ, поэтому вредоносный PHP-скрипт (например, «веб-шелл» типа c99/r57), загруженный на сайт, может позволить злоумышленнику выполнять команды, читать базу данных или захватить контроль над сервером - никогда не развертывайте .php файлы из ненадежных источников на рабочем сайте без их проверки. Простое открытие .php в текстовом редакторе безопасно (это всего лишь текст) и НЕ приводит к его выполнению. Два операционных риска: (1) файлы .php часто содержат пароли к базам данных и API-ключи, поэтому они не должны быть общедоступны для скачивания; (2) запуск PHP на устаревшей, неподдерживаемой версии (PHP 5/7) подвергает систему известным уязвимостям - поддерживайте PHP в актуальном состоянии, используя ветку 8.x.
Детали формата
в двух словахПрограммы, открывающие файлы PHP
Технические подробности
глубокая спецификация| Тип файла | Текстовый скрипт на стороне сервера, кодировка UTF-8 |
| MIME-тип | application/x-httpd-php |
| Сигнатура файла (магические байты) | Отсутствует - обычный текст без бинарной сигнатуры; файлы обычно начинаются с тега <?php со смещением 0 |
| Открывающий тег | <?php (стандартный блок) или <?= (короткий тег вывода для вставки в текст) |
| Закрывающий тег | ?> - необязателен; намеренно опускается в конце чисто PHP-файлов во избежание случайного вывода пробелов перед HTTP-заголовками |
| Модель выполнения | На стороне сервера; движок PHP на веб-сервере интерпретирует файл и доставляет полученный HTML в браузер клиента |
| Движок PHP | Zend Engine - основной интерпретатор, обеспечивающий работу официальной среды выполнения PHP, с поддержкой JIT-компилятора |
| Выполнение в CLI | php script.php или php -f script.php |
| Синтаксис переменных | Все имена переменных начинаются с префикса $ (например, $name, $count, $items) |
| Чувствительность к регистру | Имена переменных чувствительны к регистру; имена функций и классов - нет |
| Суперглобальные переменные | $_GET, $_POST, $_SESSION, $_COOKIE, $_SERVER - предопределенные массивы для контекста HTTP-запроса и сессии |
| Основные фреймворки и CMS | Laravel, Symfony, CodeIgniter (фреймворки); WordPress, Drupal, Joomla (системы управления контентом) |
| Доступ к базам данных | Встроенные расширения MySQLi и PDO; поддержка MySQL, PostgreSQL, SQLite и других баз данных |
| Конфигурация среды | php.ini управляет лимитами памяти, отчетами об ошибках, размерами загружаемых файлов и загружаемыми расширениями |
| Связанные расширения | .phtml (смесь шаблонов PHP/HTML), .phps (отображение исходного кода PHP), .php3 / .php4 / .php5 / .php7 (устаревшие версии PHP-скриптов) |
| Выпущен | 1995 (PHP/FI by Rasmus Lerdorf); PHP 8.x is current |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.php.net |
Конвертации PHP
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах PHP.