Как включить PHP-файл для всего сайта, используя .HTACCESS или другие методы - PullRequest
9 голосов
/ 25 сентября 2010

Я хочу включить свой PHP-файл googleanayltics.php на каждую страницу моего веб-сервера, которая является документом .php или .html

Я хотел бы знать:

A) Как мне добавить это право ДО тега </head>
B) Как добавить право справа ПОСЛЕ тега <body>

Я хотел бы знать оба метода для гибкости

Я думаю, что .HTACCESS мог бы легко это сделать, и если вы знаете, как, или если вы знаете какой-либо более простой метод, то, пожалуйста, поделитесь.

PS Я не хочу входить вручную и вводитькод для каждого файла, поэтому я задаю этот вопрос (для экономии времени)

Ответы [ 5 ]

5 голосов
/ 25 сентября 2010

РЕДАКТИРОВАТЬ: Только теперь я вижу то, что вы на самом деле хотели (было скрыто из-за форматирования). Хотя это возможно, это было бы очень неуклюже, и действительно не стоило бы усилий. Смотрите мой другой ответ, как это сделать.


Существует две настройки php.ini, которые могут вас заинтересовать:

auto_prepend_file и auto_append_file

Их можно изменить с помощью .htaccess (см. Другой ответ).

ПРИМЕЧАНИЯ

  • Они будут включены до или после всего сценария PHP; но не в определенных разделах вывода.

  • Они влияют только на файлы, обрабатываемые через PHP, что означает, что файлы HTML не включены, если только ваш сервер не настроен для передачи файлов HTML через PHP. Это можно сделать, добавив следующую строку в ваш .htaccess:

    AddType application/x-httpd-php .html .htm
    
  • Опасное автоматическое добавление файла, генерирующего вывод, опасно, так как это повлияет на (сломать) сценарии, которые устанавливают заголовки или используют сеансы.

3 голосов
/ 25 сентября 2010

Вы можете добавлять или добавлять файлы, устанавливая значение PHP ini в .htaccess

php_value auto_prepend_file "full_path_to_the_include_directory/prepend.php" 
php_value auto_append_file "full_path_to_the_file_containing_your_analytics_code" 

(лучше установить их вручную в php.ini)

http://php.net/manual/en/ini.core.php

1 голос
/ 25 сентября 2010

В htaccess вы можете поставить

php_value include_path "your/include/path/here/googleanayltics.php"
0 голосов
/ 17 ноября 2017

, если он в той же папке

<?php include_once("googleanayltics.php") ?>

Если не использовать это

<?php include("/customers/f/5/f/example.com/httpd.www/folder/googleanayltics.php"); ?>
0 голосов
/ 25 сентября 2010

Вот что вы могли бы сделать, чтобы достичь того, чего вы на самом деле хотите.

  • Создайте два файла с именами prepend.php и append.php .
  • Используйте метод, описанный ранее, чтобы установить их как auto_prepend_file и auto_append_file.

prepend.php

<?php

function callback($buffer) {
    $fileContents = file_get_contents('somefile.html');

    // insert $fileContents right BEFORE </head> tag
    return str_replace('</head>', $fileContents . '</head>', $buffer);

    // insert $fileContents right AFTER <body> tag
    // return str_replace('<body>', . '<body>' . $fileContents , $buffer);

}

ob_start("callback");

?>

append.php

<?php

ob_end_flush();

?>

Это зависит от выходная буферизация и относительно дорогая.Вы также можете столкнуться с проблемами, если ваши скрипты также используют буферизацию вывода.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...