Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该如何存储要多次包含的PHP代码块?_Php_Filesystems - Fatal编程技术网

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

我应该如何存储要多次包含的PHP代码块?,php,filesystems,Php,Filesystems,我有一个PHP代码块,在我的网站上以多种形式使用。相反,我想有一个单独的文件,然后我在多次包括。我不希望它可以通过网站URL中的路径自己访问。我正在考虑创建一个单独的文件夹,并通过htaccess将其重定向到homesite。还有其他解决办法吗?这里的最佳实践是什么?您可以使用函数和共享库 file1.php <?php require_once './myLib.php'; echo myFunc(); Foo file1.php的预期输出 Foo 有几种方法可以确保无法访问此库

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

您可以使用函数和共享库

file1.php

<?php
require_once './myLib.php';
echo myFunc();
Foo
file1.php的预期输出

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

最简单的方法是将其存储在webroot之外(可能在
/var/www/script
中),然后使用
/script/myLib.php
/var/www/script/myLib.php

如果您想将其放在webroot中,可以使用.htaccess拒绝访问它 这个问题可以帮你解决这个问题

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

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

这回答了你的问题吗?不完全是,我想了解如何管理文件的最佳实践。您询问了如何防止HTTP访问,上面提到的副本解释了几种方法。您选择哪一个取决于可用的内容。人们通常喜欢将它们放在文档根目录之外。谢谢,将它们存储在webroot之外似乎是最合理的