Как посмотреть php-код программы в браузере

Иногда требуется вывести php-код программы непосредственно на экран браузера или прочитать его и передать в виде текста. Итак, возможно ли передать код php-скрипта так, чтобы он был в том виде, в котором он содержится в файле на сервере? В этой статье рассмотрим короткую программу на языке программирования php, которая передаёт свой собственный код в браузер при обращении к ней. Рассмотрим сразу два варианта: как передать код программы на php в браузер для того, чтобы его можно было прочитать. И второй вариант: просмотр исходного кода php-скрипта в том виде, в котором он хранится в php-файле на сервере.



Как передать код программы на php в браузер

Сразу приведу готовый листинг программы, которая будет выдавать собственный код в браузер. После этого, разберём, как же он работает и, слегка его упростив, получим программу, которая передаёт php-код, который содержится в ней. Итак, собственно программа:

<?php
$file_handle = fopen($_SERVER['SCRIPT_FILENAME'], "r") or die ("не удалось открыть файл " . $_SERVER['SCRIPT_FILENAME']);
while (!feof($file_handle)){
	$line = fgets($file_handle);
	echo htmlspecialchars($line) . '<br>';
}
?>

Как всё это работает:

В переменную $file_handle вносим имя файла, из которого запускается этот скрипт, из переменной среды окружения $_SERVER['SCRIPT_FILENAME'] и открываем его на чтение. Это позволит автоматически определять php-скрипт, код которого нужно передать для просмотра в браузере.

После этого запускаем цикл построчного обхода этого файла (пока в нём будет что читать): while (!feof($file_handle)){ }

Читаем в переменную $line очередную строку из файла: $line = fgets($file_handle);

И выдаёт эту переменную в печать: echo htmlspecialchars($line) . '<br>';

С последней строчкой возникают проблемы, так как функцией htmlspecialchars() мы преобразуем специальные символы в HTML-сущности. Такие, как угловые скобки и всё, что может быть интерпретировано браузером, как элементы языка HTML. И в конце строки вставляем HTML-тег <br> для того, чтобы новая строка отображалась в браузере с новой строчки.

Всё это хорошо работает и позволяет посмотреть php-код в браузере, но если посмотреть полученный код, он будет во-первых без табуляций и пробелов в начале строк в самом браузере, а в коде страницы, все HTML-сущности будут заменены на символы HTML. Ну и в-третьих, в этом коде будут встречаться вставленные HTML-теги <br>.

Но, в общем и целом, можно скопировать полученный в браузере php-код, вставить его в php-скрипт и он будет рабочим.

Как просмотреть исходный код php-скрипта в том виде, в котором он хранится в php-файле на сервере

Для того, чтобы избежать всех этих заморочек с HTML-разметкой, можно просто передать значение переменной $line в браузер: echo $line;, закомментировав строку с форматированным выводом:

<?php
$file_handle = fopen($_SERVER['SCRIPT_FILENAME'], "r") or die ("не удалось открыть файл " . $_SERVER['SCRIPT_FILENAME']);
while (!feof($file_handle)){
	$line = fgets($file_handle);
	//echo htmlspecialchars($line) . '<br>';
	echo $line;
}
?>

И тогда, в самом браузере может собраться чёрте-что, но открыв HTML-код страницы можно увидеть исходный php-код со всеми пробелами, табуляциями и всем прочем, что находится в исходном php-скрипте. И именно этот код будет полностью идентичным с тем, что находится на сервере.

Резюме

Таким простым способом можно посмотреть php-код любого скрипта, находящимся на сервере, вызвав его способом, описанным выше.

Конечно для этого нужно иметь доступ к серверу. Однако, данный способ может быть полезным, когда требуется собрать php-скрипт из нескольких частей, передав эти части по обычному http или https протоколу.

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню