Пропагандатор
Этот сценарий в PHP 5 позволяет скопировать тег с атрибутом ID со страницы HTML на все другие HTML-страницы в том же каталоге и его подкаталогах.
Он может использоваться, в частности, для вставки кода Analytics на все страницы сайта, построенного из локальных файлов.
Если сайт управляется CMS, то этот скрипт бесполезен, если в шаблон помещается код для распространения, например, в footer или боковую панель. Если ты хочешь поместить его в тело статей, то для его распространения должны использоваться SQL-запросы, в зависимости от таблиц, специфичных для CMS, это выходит за рамки его области действия.
Ограничение
Из-за ошибки в PHP 5.2.8 копирование отключается на страницах, содержащих PHP-код.
Когда PHP-скрипт содержится на веб-странице, и этот скрипт содержит сравнение с кодом «>» (больше), то функция loadHTMLile (используется Propagator) заменяет конечный код сценария «?>» строкой «? & gt;».
Очевидно, что это баг в PHP и для его исправления придется ждать более позднюю версию.
В это время можно будет использовать параметр -p для поддержки файлов, содержащих PHP-код.
Для тестирования функции можно использовать сценарий php-test.php в архиве.
Использование сценария
Работает в командной строке, на Windows, Linux и других системах, поддерживающих PHP. Необходимо установить PHP 5.
- У вас должна быть локальная копия сайта. Сценарий не работает удаленно.
- Создать резервную копию этой копии.
- Вставить код для распространения в исходный файл, как правило, index.html.
- Дать идентификатор тегу, содержащему этот код.
- Выберите расположение для копирования кода на страницы (см. ниже).
- Запустить сценарий.
- Проверка измененных файлов на образцах страниц.
- При неправильном формировании кода страницы функции PHP DOM работать не будут, код придется копировать вручную.
Сценарий можно использовать на одном сайте бесконечно много раз. Код добавляется на страницы в первый раз, а затем будет обновляться в следующие раз при изменении исходной страницы.
Вставленные коды также можно стереть с помощью соответствующей команды.
Заказы
Общий синтаксис команды выглядит следующим образом.
php propag.php [option] ID fichiersource
ID - имя идентификатора тега, содержащего код для копирования.
Пример:
<div id="demo"> <script .... </script> </div>
php propag.php demo fichiersource
файл-источник - это путь и имя файла, содержащего копируемый код. Обычно index.html.
Вы можете просто ввести php propag.php, чтобы показать версию и параметры.
Опции
Можно объединить варианты после знака - например: -hbi
-h копировать код в <head> часть страниц. По умолчанию он копируется в <body>, в конце.
-b копировать код в начало содержимого тега head или body. По умолчанию он добавляется в конец.
-i ограничиваться только каталогом, ничего не изменять в подкаталогах.
-d очистить код на всех страницах, куда он был вставлен.
-v отображает подробности операций.
-q не показывать ничего (кроме сообщений об ошибках).
-0.. 9 определяет минимальный размер учитываемого файла. Цифра умножается на 1024. По умолчанию это 1, поэтому файлы размером менее 1024 байт игнорируются .
-test только для того, чтобы увидеть, что происходит, используется в сочетании с -v в форме -tv. Файлы не будут изменены.
Параметр -p не должен использоваться с PHP 5.2.8 и всеми версиями, которые имеют ошибку метода loadHTMLile, описанного выше.
Загрузка
Сценарий загружается в архив в формате ZIP.
Требуется PHP 5.
Лицензирование GPL 3.0 .
Версии
- 1.0 - 22 января 2009 - Первая версия