我应该如何存储要多次包含的 PHP 代码块?

How should I store PHP blocks of code to be included multiple times?

我有一个 PHP 代码块,我在我的网站上以多种形式使用它。相反,我想要一个单独的文件,然后我多次包含该文件。我不希望它可以通过网站 URL 中的路径自行访问。我正在考虑创建一个单独的文件夹并通过 htaccess 从它重定向到 homesite。还有其他解决方案吗?这里的最佳做法是什么?

您可以使用函数和共享库。

file1.php

<?php
require_once './myLib.php';
echo myFunc();

myLib.php

function myFunc() {
    return "Foo";
}

file1.php

的预期输出
Foo

有几种方法可以确保无法访问此库。

最简单的方法就是将它存储在您的 webroot 之外(可能在 /var/www/script 中)并使用 ../script/myLib.php/var/www/script/myLib.php

导入它

如果您想将它放在您的 webroot 中,您可以使用 .htaccess 拒绝访问它 这个问题可以帮助你 How to deny access to a file in .htaccess

最后,您可以简单地将它放在您的 webroot 中,让脚本检查它是否被直接使用以下行访问

if(__FILE__ === $_SERVER['SCRIPT_FILENAME']) {
    header('location: /'); // if the script is accessed directly redirect the user
    die(); // ALWAYS DIE AFTER A REDIRECT
}