Запуск PHP. Выполнение файлов. Как вставить PHP в HTML? | OTUS
Прямо сейчас идет открытый вебинар «ITSM глазами лида: ожидание и реальность» . Присоединяйтесь!

Запуск PHP. Выполнение файлов. Как вставить PHP в HTML?

Основная тема статьи — выполнение PHP-файлов. Также будут вкратце рассмотрены особенности использования функции exec и тема вставки PHP в HTML .

О запуске файлов PHP

Согласно установленным правилам и SLI SAPI, существует несколько способов запуска кода на PHP. Рассмотрим три основных.

1. Указание файла для запуска

Пример:

Screenshot_1-1801-360634.png

Два вышеописанных способа (как с опцией –f, так и без нее) выполнят запуск файла PHP my_script.php. Причем отсутствуют ограничения, какой именно файл следует запускать, то есть файлы не должны обязательно иметь расширение .php.

2. Передача PHP-кода напрямую в командной строке

Пример:

Screenshot_2-1801-1c21e6.png

Применяя этот способ, следует быть осторожным. Дело в том, что может случиться подстановка переменных оболочки при применении двойных кавычек. Также надо обратить внимание на отсутствие закрывающих и открывающих тегов: так как опция -r в них не нуждается, в случае их применения возможны ошибки разбора.

3. Передача запускаемого PHP-кода с помощью стандартного потока ввода (stdin)

Этот способ позволяет пользователю создавать код и передавать его в запускаемый файл, как описано в примере ниже:

Screenshot_3-1801-58aec1.png Также следует учесть, что комбинировать эти способы запуска нельзя.

Вставляем PHP в HTML

Нередко появляется необходимость вставить код внутрь страницы HTML. Выполнить это несложно, если понимать принципы работы парсера кода и знать как методы его вставки, так и различия между ними.

Рассмотрим классический принцип обработки файла с PHP. Когда парсер заходит на страницу, он построчно читает код и просто выводит содержимое на экран, пока не обнаружит специальные теги. Речь идет о тегах, которые обозначают начало и конец кода программы. Обнаруженный скрипт исполняется вплоть до завершающего тега, после чего построчный вывод данных на экран продолжается.

Чтобы понять это на примере, стоит попробовать запустить у себя файл со следующим содержимым:

Screenshot_4-1801-4dc201.png

Способы вставки

Чаще всего используется следующий вариант:

<?php echo 'Самая распространенная конструкция'; ?>

Данный способ имеет ряд плюсов: • не требуется дополнительная активация (способ всегда доступен); • возможно беспроблемное применение в файлах со стандартами XML и XHTML; • ввиду широкой применимости, этот метод стал, по сути, общепринятым стандартом, позволяющим вставлять скрипты, поэтому лучше используйте его.

Рассмотрим еще один вариант:

Screenshot_5-1801-4745da.png

Здесь тоже не нужны никакие предварительные настройки, однако на практике такая конструкция встречается реже, так как особых преимуществ она не имеет. Начиная с PHP версии 5.3, можно вставить в код лишь открывающий тег <?php. В результате всё последующее содержание кода будет интерпретироваться как скрипт:

Screenshot_6-1801-bfba3a.png

Этот способ прекрасно подходит при выводе больших текстовых фрагментов внутри скриптов. Он эффективнее, чем применение конструкции с echo(), print() и т. п.

Функция exec

Функция exec служит для выполнения внешней программы. Синтаксис ее работы выглядит следующим образом:

Screenshot_7-1801-370a71.png

Давайте рассмотрим перечень параметров: • command — команда к исполнению, то есть exec() осуществляет выполнение команды command; • output. Когда данный параметр указан, массив заполняется строками вывода программы. В данном случае завершающие пробелы в массив не включаются. Следует учесть, что если массив уже включает в себя какие-нибудь элементы, то функция добавляет в конец массива новые элементы. Но если вы этого не хотите, можно вызвать на этом массиве unset(), сделав это прежде его передачи в exec(); • return_var. Когда аргумент return_var находится вместе с output, статус возврата команды после выполнения записывается в этой переменной.

Источники: • https://vaden-pro.ru/blog/php/vstavka-php-koda-v-html; • https://www.php.net/manual/ru/features.commandline.usage.php; • https://www.php.net/manual/ru/function.exec.php.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто