Verification: a143cc29221c9be0

Open php script in html

Open php script in html

Как подключить PHP из другой директории

Теперь изменим условия. Переместим файл `1.php` в папку с названием `test`, которую создадим в директории с файлом `index.php`.

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

Далее изменим код в `index.php`.

include 'test/1.php';
?>

Строка, что мы указываем после инструкции `include`, это путь к файлу. Он может быть относительный (к файлу, где используется подключение) и абсолютным (от корня файловой системы). В приложениях рекомендуются использовать относительные пути.

Между папками, файлами и другими папками в пути устанавливаются разделители. Универсальный разделитель для различных операционных систем – `/`. 

Если в папке `test` у нас была бы еще папка `lot`, в которой лежал файл `1.php`, то относительный путь выглядел бы так: 'test/lot/1.php'.

С путями немного разобрались – возвращаемся к инструкциям. Произведем изменения в файлах. Файл "index.php":


html lang="ru">
head>
    meta charset="UTF-8">
    title>Document/title>
/head>
body>
            $say = 'Hello world!';
        include 'test/1.php';
echo $test;
        echo "

End/p>
"; ?> /body> /html>

Файл `1.php`:

echo "

{$say}

"
; $test = 'TEst connect';

Посмотрим на изменение в выводе:

Как работает подключение кода PHP

Интерпретатор php «читает» код сверху вниз и слева направо, как мы читаем книги на русском языке. На исполнение от сервера ему указывается файл "index.php", а значит, чтение начинается с него. Дойдя до строчки с `include 'test/1.php'`, интерпретатор пытается найти и исполнить это файл так, как будто он является частью "index.php". 

Перед подключением и исполнением файла "1.php" уже существует переменная `$say`, в которой содержится 'Hello world!'. При выполнении файла "1.php", содержимое этой переменной выводится на экран и создается переменная `$test`, которая в свою очередь и выводится на экран в файле `index.php`.

Если описанное выше непонятно, советую немного поиграться с файлами `1.php` и `index.php` создавая и выводя в них переменные.

Различия `include`, `include_once`, `require`, `require_once`

Переименуем файл "1.php"в файл "2.php" и обратимся к "index.php":

В итоге получаем ошибку. Но обратите внимание на то, что после вывода ошибки код PHP все равно продолжил выполнение и вывел `End`. Заменим `include` на `require` и запустим на выполнение.

В итоге видим похожие ошибки, но не видим вывода `End` в конце: после ошибки код php прекратил свою работу.

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

Теперь рассмотрим отличие инструкций `require` и `require_once`. Внесем небольшие правки в наши файлы. Вот новый "index.php":


html lang="ru">
head>
    meta charset="UTF-8">
    title>Document/title>
/head>
body>
            $say = 'Hello world!';
        require 'test/2.php';
        require 'test/2.php';
        require 'test/2.php';
        require 'test/2.php';
        echo "

End/p>
"; ?> /body> /html>

И файл "2.php":

echo "

{$say}

"
;

Запускаем:

Как видно на скриншоте, с помощью `require` мы успешно подключили файл несколько раз. Снова внесем изменение в файлы. Новый файл "index.php":


html lang="ru">
head>
    meta charset="UTF-8">
    title>Document/title>
/head>
body>
            require 'test/2.php';
        require 'test/2.php';
        require 'test/2.php';
        require 'test/2.php';
        echo "p>End/p>";
    ?>
/body>
/html>

И новый файл "2.php" — на этот раз объявим там функцию:

echo '

Im included

'
; function sayHello($say) { echo "

{$say}

"
; }

Результат выполнения:

Второе подключение файла "2.php" приводит к ошибке, как раз потому что в этом файле происходит объявление функции. А в PHP-скрипте двух одинаковых функций быть не должно.

Теперь заменим все `require` на `require_once` и запустим снова:

Ура, работает! Но обратим внимание на то, что файл подключился только один раз.

Теперь вновь переименуем файл `2.php` в `1.php` и запустим "index.php".

`Require_once`, так же как и `require` завершает выполнение скрипта, если не найден файл указанный для подключения. Заменим `require_once` на `include_once`:

Ошибок стало больше, но код по-прежнему отработал до конца: end в конце картинки это подтверждает. Внесем правки в "index.php":


html lang="ru">
head>
    meta charset="UTF-8">
    title>Document/title>
/head>
body>
            include_once 'test/1.php';
        include_once 'test/1.php';
        include_once 'test/1.php';
        include_once 'test/1.php';
        echo "

End/p>
"; ?> /body> /html>

Запустим код:

Используйте AJAX для передачи переменной PHP в JavaScript

Мы можем использовать AJAX для передачи данных и переменных с PHP-сервера в JavaScript. Этот метод имеет отдельные серверные и клиентские сценарии. Это делает код чище и улучшает читаемость кода. AJAX означает асинхронный JavaScript и XML. Он использует объект XMLHttpRequest для запроса данных с сервера. Он отображает данные с использованием JavaScript и HTML DOM. Этот процесс происходит асинхронно, что означает, что изменения на веб-странице происходят без ее перезагрузки. Однако при использовании AJAX в сетях возникает задержка, поскольку он отправляет HTTP-запрос. В этом методе мы пишем код JavaScript в файле PHP.

Например, создайте файл PHP с именем index.php. Напишите код JavaScript внутри тега . Создайте переменную req, используя ключевое слово var. Создайте объект запроса функции XMLHttpRequest() и присвойте его переменной req. Вызвать функцию onload() с объектом req, используя выражение функции. Внутри функции используйте функцию console.log() для регистрации свойства this.responseText. Не забывайте заканчивать выражение функции точкой с запятой. Используйте объект req для вызова функции open(). Задайте get, get-data.php и true одновременно в качестве параметров функции. Вызвать функцию send() с объектом req. Создайте еще один файл PHP с именем get-data.php. Присвойте переменной var значение Mountain. Повторите функцию json_encode() с параметром var.

В приведенном ниже примере мы создали объект запроса с помощью функции XMLHttpRequest(). Функция onload() обрабатывает операцию, которая будет выполняться во время ответа. Функция open() определяет метод HTTP, файл PHP, который отправляет ответ JSON, и логическое значение, которое контролирует остальную часть выполнения скрипта. Функция json_encode() в файле get-data.php отправляет ответ в формате JSON. Здесь мы напечатали в консоли переменную $var.

Пример кода:

# php 7.*
# php 7.*

Выход:

"Mountain"

Используйте JavaScript, чтобы избежать сценариев PHP для передачи переменной PHP в JavaScript

Мы можем использовать JavaScript после тегов PHP, чтобы избежать сценариев PHP. Мы можем создать переменную PHP в скрипте PH P. Затем мы можем написать JavaScript, чтобы избежать написанного выше PHP и передать переменную внутри кода JavaScript. Внутри JavaScript мы можем использовать тег PHP, чтобы отобразить переменную PHP, назначив ее переменной JavaScript.

Например, присвоить значение Metallica переменной $var внутри тегов PHP. Напишите тег скрипт и внутри него напишите тег PHP. Внутри тега PHP отобразите переменную JavaScript jsvar. Назначьте переменную PHP $var на jsvar. Не забудьте заключить в кавычку $var и точку с запятой после нее. Закройте тег PHP и зарегистрируйте значение jsvar с помощью функции console.log(). Закройте тег скрипт. В приведенном ниже примере мы зарегистрировали переменную PHP $var в консоли с помощью JavaScript. Мы видим вывод в консоли веб-страницы.

Пример кода:

#php 7.x

Выход:

Metallica