HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Основная тема статьи - выполнение PHP-файлов. Также будут вкратце рассмотрены особенности использования функции exec и тема вставки PHP в HTML .</p>
1 <p>Основная тема статьи - выполнение PHP-файлов. Также будут вкратце рассмотрены особенности использования функции exec и тема вставки PHP в HTML .</p>
2 <h2>О запуске файлов PHP</h2>
2 <h2>О запуске файлов PHP</h2>
3 <p>Согласно установленным правилам и SLI SAPI, существует несколько способов запуска кода на PHP. Рассмотрим три основных.</p>
3 <p>Согласно установленным правилам и SLI SAPI, существует несколько способов запуска кода на PHP. Рассмотрим три основных.</p>
4 <h4>1. Указание файла для запуска</h4>
4 <h4>1. Указание файла для запуска</h4>
5 <p>Пример:</p>
5 <p>Пример:</p>
6 <p>Два вышеописанных способа (как с опцией -f, так и без нее) выполнят запуск файла PHP<em>my_script.php</em>. Причем отсутствуют ограничения, какой именно файл следует запускать, то есть файлы не должны обязательно иметь расширение<em>.php</em>.</p>
6 <p>Два вышеописанных способа (как с опцией -f, так и без нее) выполнят запуск файла PHP<em>my_script.php</em>. Причем отсутствуют ограничения, какой именно файл следует запускать, то есть файлы не должны обязательно иметь расширение<em>.php</em>.</p>
7 <h4>2. Передача PHP-кода напрямую в командной строке</h4>
7 <h4>2. Передача PHP-кода напрямую в командной строке</h4>
8 <p>Пример:</p>
8 <p>Пример:</p>
9 <p>Применяя этот способ, следует быть осторожным. Дело в том, что может случиться подстановка переменных оболочки при применении двойных кавычек. Также надо обратить внимание на отсутствие закрывающих и открывающих тегов: так как опция -r в них не нуждается, в случае их применения возможны ошибки разбора.</p>
9 <p>Применяя этот способ, следует быть осторожным. Дело в том, что может случиться подстановка переменных оболочки при применении двойных кавычек. Также надо обратить внимание на отсутствие закрывающих и открывающих тегов: так как опция -r в них не нуждается, в случае их применения возможны ошибки разбора.</p>
10 <h4>3. Передача запускаемого PHP-кода с помощью стандартного потока ввода (stdin)</h4>
10 <h4>3. Передача запускаемого PHP-кода с помощью стандартного потока ввода (stdin)</h4>
11 <p>Этот способ позволяет пользователю создавать код и передавать его в запускаемый файл, как описано в примере ниже:</p>
11 <p>Этот способ позволяет пользователю создавать код и передавать его в запускаемый файл, как описано в примере ниже:</p>
12 <p>Также следует учесть, что комбинировать эти способы запуска нельзя.</p>
12 <p>Также следует учесть, что комбинировать эти способы запуска нельзя.</p>
13 <h2>Вставляем PHP в HTML</h2>
13 <h2>Вставляем PHP в HTML</h2>
14 <p>Нередко появляется необходимость вставить код внутрь страницы HTML. Выполнить это несложно, если понимать принципы работы парсера кода и знать как методы его вставки, так и различия между ними.</p>
14 <p>Нередко появляется необходимость вставить код внутрь страницы HTML. Выполнить это несложно, если понимать принципы работы парсера кода и знать как методы его вставки, так и различия между ними.</p>
15 <p>Рассмотрим классический принцип обработки файла с PHP. Когда парсер заходит на страницу, он построчно читает код и просто выводит содержимое на экран, пока не обнаружит специальные теги. Речь идет о тегах, которые обозначают начало и конец кода программы. Обнаруженный скрипт исполняется вплоть до завершающего тега, после чего построчный вывод данных на экран продолжается.</p>
15 <p>Рассмотрим классический принцип обработки файла с PHP. Когда парсер заходит на страницу, он построчно читает код и просто выводит содержимое на экран, пока не обнаружит специальные теги. Речь идет о тегах, которые обозначают начало и конец кода программы. Обнаруженный скрипт исполняется вплоть до завершающего тега, после чего построчный вывод данных на экран продолжается.</p>
16 <p>Чтобы понять это на примере, стоит попробовать запустить у себя файл со следующим содержимым:</p>
16 <p>Чтобы понять это на примере, стоит попробовать запустить у себя файл со следующим содержимым:</p>
17 <h3>Способы вставки</h3>
17 <h3>Способы вставки</h3>
18 <p>Чаще всего используется следующий вариант:</p>
18 <p>Чаще всего используется следующий вариант:</p>
19 &lt;?php echo 'Самая распространенная конструкция'; ?&gt;<p>Данный способ имеет ряд плюсов: • не требуется дополнительная активация (способ всегда доступен); • возможно беспроблемное применение в файлах со стандартами XML и XHTML; • ввиду широкой применимости, этот метод стал, по сути, общепринятым стандартом, позволяющим вставлять скрипты, поэтому лучше используйте его.</p>
19 &lt;?php echo 'Самая распространенная конструкция'; ?&gt;<p>Данный способ имеет ряд плюсов: • не требуется дополнительная активация (способ всегда доступен); • возможно беспроблемное применение в файлах со стандартами XML и XHTML; • ввиду широкой применимости, этот метод стал, по сути, общепринятым стандартом, позволяющим вставлять скрипты, поэтому лучше используйте его.</p>
20 <p>Рассмотрим еще один вариант:</p>
20 <p>Рассмотрим еще один вариант:</p>
21 <p>Здесь тоже не нужны никакие предварительные настройки, однако на практике такая конструкция встречается реже, так как особых преимуществ она не имеет. Начиная с PHP версии 5.3, можно вставить в код лишь открывающий тег &lt;?php. В результате всё последующее содержание кода будет интерпретироваться как скрипт:</p>
21 <p>Здесь тоже не нужны никакие предварительные настройки, однако на практике такая конструкция встречается реже, так как особых преимуществ она не имеет. Начиная с PHP версии 5.3, можно вставить в код лишь открывающий тег &lt;?php. В результате всё последующее содержание кода будет интерпретироваться как скрипт:</p>
22 <p>Этот способ прекрасно подходит при выводе больших текстовых фрагментов внутри скриптов. Он эффективнее, чем применение конструкции с echo(), print() и т. п.</p>
22 <p>Этот способ прекрасно подходит при выводе больших текстовых фрагментов внутри скриптов. Он эффективнее, чем применение конструкции с echo(), print() и т. п.</p>
23 <h2>Функция exec</h2>
23 <h2>Функция exec</h2>
24 <p>Функция exec служит для выполнения внешней программы. Синтаксис ее работы выглядит следующим образом:</p>
24 <p>Функция exec служит для выполнения внешней программы. Синтаксис ее работы выглядит следующим образом:</p>
25 <p>Давайте рассмотрим перечень параметров: •<strong>command</strong>- команда к исполнению, то есть exec() осуществляет выполнение команды command; •<strong>output</strong>. Когда данный параметр указан, массив заполняется строками вывода программы. В данном случае завершающие пробелы в массив не включаются. Следует учесть, что если массив уже включает в себя какие-нибудь элементы, то функция добавляет в конец массива новые элементы. Но если вы этого не хотите, можно вызвать на этом массиве unset(), сделав это прежде его передачи в exec(); •<strong>return_var</strong>. Когда аргумент return_var находится вместе с output, статус возврата команды после выполнения записывается в этой переменной.</p>
25 <p>Давайте рассмотрим перечень параметров: •<strong>command</strong>- команда к исполнению, то есть exec() осуществляет выполнение команды command; •<strong>output</strong>. Когда данный параметр указан, массив заполняется строками вывода программы. В данном случае завершающие пробелы в массив не включаются. Следует учесть, что если массив уже включает в себя какие-нибудь элементы, то функция добавляет в конец массива новые элементы. Но если вы этого не хотите, можно вызвать на этом массиве unset(), сделав это прежде его передачи в exec(); •<strong>return_var</strong>. Когда аргумент return_var находится вместе с output, статус возврата команды после выполнения записывается в этой переменной.</p>
26 <p>Источники: • 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.</p>
26 <p>Источники: • 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.</p>
27  
27