如何在站点范围内包含PHP文件使用.HTACCESS或其他方法

时间:2010-09-25 01:31:22

标签: php .htaccess include

我想在我的网络服务器上的每个页面上包含我的PHP文件googleanayltics.php,该文件是.php或.html文档

我想知道:

A)如何在</head>标签之前添加此权限 B)如何在<body>标签

之后右键添加

我想知道两种灵活方法

我认为.HTACCESS可以很容易地实现这一目标,如果您知道如何,或者您知道任何更简单的方法,那么请分享。

P.S。我不想手动进入并在每个文件上输入代码,这就是我提出这个问题的原因(节省时间)

5 个答案:

答案 0 :(得分:5)

  

编辑:现在我只看到你真正想要的东西(由于格式化而被隐藏)。   尽管可能,这将是一个非常笨拙的事情,并且真的不值得努力。   请参阅我的其他答案,了解如何做到这一点。


您可能感兴趣的设置有两个php.ini

auto_prepend_fileauto_append_file

可以通过.htaccess更改它们(参见其他答案)。

注意

  • 这些将包含在整个PHP脚本之前或之后;但不是在输出的特定部分。

  • 它们只会影响通过PHP处理的文件,这意味着不包括HTML文件,除非您的服务器设置为通过PHP传递HTML文件。这可以通过在.htaccess中添加以下行来完成:

    AddType application/x-httpd-php .html .htm
    
  • 自动添加生成输出的文件是一件危险的事情,因为它会影响(中断)设置标题或使用会话的脚本。

答案 1 :(得分:3)

您可以通过在.htaccess

中设置PHP ini值来追加或添加文件
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

答案 2 :(得分:1)

在htaccess中,您可以添加

php_value include_path "your/include/path/here/googleanayltics.php"

答案 3 :(得分:0)

这是你可以做的事情,你真正想要的。

  • 创建两个名为 prepend.php append.php 的文件。
  • 使用前面介绍的方法将其设置为auto_prepend_fileauto_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();

?>

这取决于output buffering并且相对昂贵。如果您的脚本也使用输出缓冲,您可能也会遇到问题。

所以我最好的建议是以每个页面使用布局的方式设计脚本,只需更改布局就可以轻松更改页面中包含的内容。

答案 4 :(得分:0)

如果它在同一个文件夹中

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

如果不使用此

<?php include("/customers/f/5/f/example.com/httpd.www/folder/googleanayltics.php"); ?>