Как вывести php код текстом
@Eugene Smiths, Постарайтесь писать более развернутые вопросы. Поясните, в чем вы видите проблему, как ее воспроизвести и т. д.
11 июн 2014 в 16:08
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Если память не изменяет, то это можно сделать отключить php на apache. И открыть php файл.
Или же убрать теги в начале и в конце
Вам для чего вообще?
Самый лучший вариант
echo ''; echo htmlspecialchars(file_get_contents(__FILE__)); echo '';
Вариант с подсветкой кода
highlight_string(file_get_contents(__FILE__));header('Content-Type: text/plain'); if ($f = fopen(__FILE__, 'r'))Saved searches
Use saved searches to filter your results more quickly
Cancel Create saved search
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
k-samuel / dvelum Public
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Вывод отработки PHP-кода на страницах #130
e-v-medvedev opened this issue Sep 9, 2017 · 12 comments
Вывод отработки PHP-кода на страницах #130
e-v-medvedev opened this issue Sep 9, 2017 · 12 comments
Comments
e-v-medvedev commented Sep 9, 2017
Как можно вывести результат отработки PHP кода на странице, например в разделе content или в заголовке? При вводе в поле текста на странице php код экранируется.
The text was updated successfully, but these errors were encountered:
k-samuel added the help wanted label Sep 10, 2017
e-v-medvedev commented Sep 10, 2017Просто возник вопрос, как например в области content на главной странице вывести результат выполнения простейшего PHP-скрипта.
Например если нужно вывести какой-нибудь виджет со списком последний статей блога, или какой то контент по результатам обработки входной строки.
В различных платформах есть хелперы, которые выполняют простейшие функции, результат которых вставляется в HTML код страницы. А здесь пока нашел что все делается через создание модулей со своими контроллерами и т.п.
Могу я написать свой блок, состоящий из чистого PHP-кода, результат работы которого выведется так, куда этот блок вставлен? Пока нашел, что блок можно редактировать только как html код.
Еще возник вопрос как на на какой то специфической странице добавить свои JS и CSS файлы, да так, чтобы они тоже кэшировались? Как я это могу сделать из блока? (ведь обычно именно блок тащит за собой специфический код для клиента).k-samuel commented Sep 10, 2017 •
Вариант 1 блоки
https://dvelum.ru/guide_blocks.html они могут быть 3х видов:
- html
- меню
- php код.
В последнем случае вы создаете свой класс наследник Block. В интерфейсе управления блоками создаете новую запись, ставите галку «системный», выбираете ваш класс блока из списка.
Блоки передают данные в свои шаблоны. В блоках так же можно подключать js и css через Resource::getInstance() или шаблон.
Вариант 2 прикрепить к странице функциональность https://dvelum.ru/guide_pages.html
Вы описываете модуль (контроллер) и прикрепляете его к странице, как показано в примере с новостями https://dvelum.ru/cookbook_simple_module.html.
Для этого нужно описать контроллер объявить его модулем публичной части, в одноименном разделе. Зайти в интерфейс управления страницами, подключить к странице ваш модуль.
Вариант 3 передать данные в шаблон нужной темы оформления и там описать их вывод.
Подключить свои JS и CSS можно в контроллере используя $this->_resource (Resource)
Или в конкретном шаблоне используя html
e-v-medvedev commented Sep 10, 2017
А где должны размещаться файлы классов блоков по структуре кода в соответствии с феншуй Dvelumа? Они сами подключаются или их нужно в автолоадере прописывать? Композером я так понимаю пока ни чего не грузится? Это в следующей версии.
k-samuel commented Sep 10, 2017
Феншуй: My_Class_Name = application/controllers/My/Class/Name.php или application/library/My/Class/Name.php
Например: class Block_News лучше положить в application/controllers/Block/News.php
Autoloader сам найдет нужный класс.
Composer поддерживается в 2.0.0, но эта версия еще в альфе
e-v-medvedev commented Sep 10, 2017
C application/library не прошло. Создал файл в application/library/Namespace/Block/Test.php. В нем класс Namespace_Block_Test extends Block . В классе прописал метод render, возвращающий просто строку. Но в списке классов при создании блока этот класс не виден.
e-v-medvedev commented Sep 10, 2017 •
Вообще ни из одной папки не видит система класса. Пробовал положить его и в dvelum/app/Block. Добавил его и в application/configs/dist/classmap.php. Не помогло. Может где то кэши надо чистить?
Точно, в кэше дело было 🙂 !
Но грузится класс только из dvelum/app/Block . Из папок в application не хочет.
В общем пока получается что Namespace мешает. Если кладу в application/library/Block/Test.php то все работает. Добавляю свое пространство имен, чтобы отделить свой набор файлов кода от других — не работает. Жалко.
Как вывести файл PHP, чтобы «замутить» чужой код
От автора: мне всегда было интересно, как работают чужие сайты. Так и хочется подсмотреть код стороннего скрипта, чтоб и себе такой «замутить». Вот только PHP – это серверный язык, поэтому «списать» чужой код не удастся. Но все-таки, как вывести файл PHP?
О чем это я?
Согласен, заголовок статьи больше ориентирован на продвинутых юзеров. Если вы таким не являетесь (пока), я сейчас поясню, почему скрипт PHP просто так не получится «подсмотреть».
Этот программный язык является серверным. То есть, выполняется на стороне сервера (на хостинге), а не на стороне клиента (в пользовательском браузере). Чтобы все это продемонстрировать, я вставлю в HTML несколько строк кода PHP.
Почему на странице отображается код вместо результата?
Посмотрел. У тебя в браузере открыт через диск файл index.php, поэтому показывается код. php файлы нужно открывать через запущенный веб-сервер, через тот же xampp, как в уроках, либо на локальном домене kinomonster.com или любом другом или через ip адрес. т.е. в браузере должен быть открыт либо локальный домен, либо ip адрес.
После ip адреса не нужно потом писать локальный путь к скрипту php, там просто должен быть ip адрес или ip адрес потом /index.php. Посмотри этот урок, чтобы общий принцип понять и настройка xampp сделать: https://fructcode.com/ru/courses/php-and-mysql/install-xampp-vm-for-osx-mojave-sierra/
index.php нужно создать в корне htdocs, в ошибке же написано.
Здесь: /Users/aleksandr/.bitnami/stackman/machines/xampp/volumes/root/htdocs/
Покажи скриншот открытой папки htdocs
Не понимаю он и так в папке htdocs Вот
В папке нет файла index.php, у тебя там лежит только папка kinomonster. Создать в папке htdocs, которая на скрине, файл index.php с содержимым:
и в браузере пиши свой ip адрес веб-сервера, 192 чето-там.
Тебе не нужно с браузере писать полный локальный путь к файлу index.php, напиши ip адрес потом сразу /index.php
На какой порт настроен apache? 80 или 8080?
хз какой это порт там написано 8080 -> 80
В конфиге apache для kinomonster какой порт указан?
Попробуй так: 1. Открой программу терминал и напиши команды:
cd /Users/aleksandr/.bitnami/stackman/machines/xampp/volumes/root/htdocs/
ls -la
Вывод здесь покажи ответом. Потом введи команду:
sudo chmod -R 777 /Users/aleksandr/.bitnami/stackman/machines/xampp/volumes/root/htdocs/
Команда запросит ввести пароль от компа, нужно ввести. Потом опять выполни команду:
ls -la
вывод также сюда покажи этой команды. И потом запускай в браузере ip адрес потом сразу /index.php
index.php должен быть файл еще, как я выше писал. Создай его рядом с папкой kinomonster и еще раз запусти команды которые выше писал. Правда я не совсем понимаю, зачем тебе через ip адрес запускать, когда в курсе все идет через локальный домен kinomonster.com?
Да, но ты же удалил уже эти файлы из папки htdocs, поэтому это уже не будет показыватся. Просто все по уроку в точности настрой и будет запускаться через kinomonster.com сайт.
Потому что его нужно полностью удалять и вручную удалять папку .bitnami через терминал, потому что она скрыта. И когда ты переустанавливаешь xampp, он эту папку не трогает.
посмотри еще на фото
/Users/aleksandr/.bitnami/stackman/machines/xampp/volumes/root/htdocs/kinomonster/index.php а он где?
Не понимаю он и так в папке htdocs
хз какой это порт там написано 8080 -> 80 фото
какая папка
где этот конфиг?
ls -la total 24 drwxrwxrwx 3 1000 wheel 4096 28 июн 18:49 . drwxr-xr-x 25 root wheel 4096 22 сен 2018 .. drwxr-xr-x 2 1000 1000 4096 11 окт 2019 kinomonster ls -la (2) total 24 drwxrwxrwx 3 1000 wheel 4096 28 июн 18:49 . drwxr-xr-x 25 root wheel 4096 22 сен 2018 .. drwxrwxrwx 2 1000 1000 4096 11 окт 2019 kinomonster
Он там показывает что если мы скопируем IP и вставим в браузер то получим: фото
у меня не так и поэтому я разбираюсь
во я дурак
а почему когда я скачивал xampp снова то у меня уже этих папок не было?
а как ее удалить?
rmdir [-p] .bitnami не работает
Sign up or Log in to write an answer
- Интерактивные уроки и курсы программирования и создания сайтов (дистанционное обучение) помогут вам в игровой форме изучить основы языков программирования веб-разработки и веб-программирования с нуля. Обучение онлайн 24/7.
Общие ссылки
- Отзывы
- Политика конфидециальности
- Условия использования
- Блог
- Цена и оплата
- Курсы и скринкасты
- Сертификаты
- Партнерская программа
- Комьюнити
Наши курсы и скринкасты
- HTML/CSS Advanced
- Bootstrap 4
- Vue JS
- Linux, GIT and web-hosting
- HTML and CSS
- Modern Javascript
- Javascript/jQuery
- Codeigniter
- Все курсы и скринкасты
