Статьи, приемы, хитрости и Уроки по Photoshop, Illustrator, Web дизайну и кодингу.

Как вставить php код. Конструкция включений в PHP include

Конструкция include предназначена для включения файлов в код сценария PHP во время исполнения сценария PHP.

В отличие от конструкции require конструкция include позволяет включать файлы в код PHP скрипта во времявыполнения сценария. Синтаксис конструкции include выглядит следующим образом:

 

include имя_файла;

Поясним принципиальную разницу между конструкциями require и include на конкретном практическом примере. Создадим 10 файлов с именами 1.txt, 2.txt и так далее до 10.txt, содержимое этих файлов - просто десятичные цифры 1, 2 ...… 10 (по одной цифре в каждом файле). Создадим такой сценарий PHP:

 

<?php
// Создаем цикл, в теле которого конструкция include
for($i=1; $i<=10; $i++) {
include "$i.txt";
}
// Включили десять файлов: 1.txt, 2.txt, 3.txt ... 10.txt
// Результат - вывод 12345678910
?>

В результате мы получим вывод, состоящий из 10 цифр: "12345678910". Из этого мы можем слелать вывод, что каждый из файлов был включен по одному разу прямо во время выполнения цикла! Если мы поставим теперь вместоinclude require, то сценарий сгенерирует критическую ошибку (fatal error). Сравните результат.

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

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

Конструкция include поддерживает включения удаленных файлов (начиная с версии PHP 4.3.0). Например:

<?php
// Следующий пример на работает, поскольку пытается включить локальный файл
include 'file.php?foo=1&bar=2';
// Следующий пример работает
include 'http://www.example.com/file.php?foo=1&bar=2';
?>

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

Включения удаленных файлов

PHP позволяет работать с объектами URL, как с обычными файлами. Упаковщики, доступные по умолчанию, служат для работы с удаленными файлами с использованием протокола ftp или http.

Если "URL fopen-оболочки" включены в PHP (как в конфигурации по умолчанию), вы можете специфицировать файл, подключаемый с использованием URL (через HTTP), вместо локального пути. Если целевой сервер интерпретирует целевой файл как PHP-код, переменные могут передаваться в подключаемый файл с использованием URL-строки запроса, как в HTTP GET. Строго говоря, это не то же самое, что подключение файла и наследование им области видимости переменных родительского файла; ведь скрипт работает на удалённом сервере, а результат затем подключается в локальный скрипт.

Для того, чтобы удаленное включение файлов было доступно, необходимо в конфигурационном файле (php.ini)установить allow_url_fopen=1.

Обратите внимание: Версии PHP для Windows до PHP 4.3.0 не поддерживают возможность использования удаленных файлов этой функцией даже в том случае, если опция allow_url_fopen включена.

<?php
/* Здесь предполагается, что www.example.com сконфигурирован для разбора .php
  * файлов, а не .txt файлов. Также 'Works' здесь означает, что переменные
  * $foo и $bar доступны в подключённом файле. */
// Не будет работать, так как file.txt не обрабатывается www.example.com как PHP
include 'http://www.example.com/file.txt?foo=1&bar=2';
// Не будет работать, поскольку ищет файл 'file.php?foo=1&bar=2' в локальной
// файловой системе.
include 'file.php?foo=1&bar=2';
// Следующий пример работает:
include 'http://www.example.com/file.php?foo=1&bar=2';
$foo = 1;
$bar = 2;
include 'file.txt';  // Работает
include 'file.php';  // Работает
?>

Как вставить php код в joomla (2, 3)

Всем пользователям, кто знаком с joomla известно, что вставить php в joomla довольно проблематично. Как только доходит дело до сохранения материала, редактор joomla просто вырезает или экранирует этот код и в результате вставленный код PHP, java, и т.д. не работает.

В joomla версии 2.5, 3 эта проблема решается путем выставления некоторых настроек в «общие настройки - фильтры текста.

общие настройки - фильтры текста

Конечно можно поколдовать в фильтрах текста в вашем WYSIWYG редакторе, но а что если и это тоже не помогает ? Для вставки кода в joomla поможет установка бесплатного плагина Sourcerer.

Sourcerer

С его помощью можно легко вставлять любой код в материал или модуль, причем в любом месте.
При установке плагина, в редакторе появляется дополнительная кнопка «вставить код»:

Sourcerer

Плагин обрабатывает все свои теги в коде вашего сайта. Вы можете вставлять произвольные скрипты и код html, javascript, css и php код в joomla (включая, собственные теги этих языков) между тегами Sourcerer:

Sourcerer

Плагин считывает весь код между своими тегами и отделяет его от html-разметки страницы. Так что Sourcerer позволяет размещать PHP и любой HTML код стиля (включая CSS и JavaScript) прямо в ваш контент! Не только в ваших статьях, но и в секциях, категориях, модулях, компонентах, мета-тегах, и т.д. Теперь вы можете просто разместить оригинальные коды прямо в редакторе WYSIWYG.Единственное, что вам нужно сделать, это окружить код с тегами Sourcerer. Проще простого!

На этом все - надеюсь материал был для Вас полезен.

Последнее изменениеВторник, 05 Август 2014 11:30
  • Оцените материал
    (0 голосов)
  • Опубликовано в Web coding
  • Прочитано 16606 раз
SeRbGa

SeRbGa

мечтатель

Сайт: www.serbga.ru

Оставить комментарий

You have no rights to post comments

Наверх

Популярные статьи

  • 1
  • 2
  • 3
  • 4

последние комментарии

ON-Line Блог SeRbGa.ru предоставляет самую свежую и актуальную информацию для веб-дизайнеров и разработчиков в виде тематических материалов, уроков созданных собственноручно, а так же переводов статей и новостей, полученных с зарубежных информационных ресурсов.

Копирование материалов сайта разрешено только с указанием активной индексируемой гиперссылки на данный сайт!

ДИСКЛЕЙМЕР/DISCLAIMER:

Я сам вдохновляюсь материалами, которые предлагаются вам на обозрение, будь то интересные руководства или полезные и впечатляющие подборки (дизайнов, шаблонов, макетов и т.д.), и по возможности всегда сохраняется ссылка на источники, и сообщается  автор изображений, использованных в подборках или руководствах. Зачастую, ссылка на источник не ведёт напрямую к автору шедевра, но если кто-то захочет использовать какие-либо изображения, графические элементы, исходники, которые здесь предоставлены, то единственное требование, выставленное к перепосту, заключается в сохранении ссылки на источник, а также соблюдение условий лицензионного соглашения (если таковое имеется). Если кто-то желает модифицировать тот или иной продукт, изменить его, подкорректировать, то ему придется самостоятельно искать настоящего автора материала.