草庐IT

php - include() 为什么我不应该使用它?

我正在研究一本2003年写的旧phpmysql书。作者使用include()函数通过包含header.inc、footer.inc、main.inc文件等来构造html页面。现在我发现这在默认的ini设置中是不允许的,(allow_url_include设置为关闭)在我从服务器收到许多警告后。我还注意到您可以使用不带括号的include。我尝试了这个并且它有效并且我没有收到任何错误消息或警告。两者有区别吗?也就是说,include()与include不同吗? 最佳答案 这是误会。您可以关闭包含远程文件(使用URLhttp://www

php include_once 不工作

不工作的include_once的原因是什么?这是我的文件夹层次结构:/Php/Controls/GridView/GridView.php/Php/Controls/Form/Form.php在“Form.php”中:include_once'../GridView/GridView.php';我收到这个错误:Warning:include_once(../GridView/GridView.php)[function.include-once]:failedtoopenstream:Nosuchfileordirectoryin...Form.phponline4Warning:i

php - 使用 PHP include 分隔网站内容

我正在寻找有关将网站内容分成逻辑block的最佳做法的建议。我想要一个在整个站点中保持不变的页眉和页脚,这样如果我有几个不同内容的页面,它们都会如下所示-对页眉和页脚所做的更改然后自动更新,而无需更改每个单独的页面。pagecontenthereheader.php将包含开头,和静态内容,以及footer.php将包含任何额外的静态内容和结束标签。所以,我的问题是:这是一个好方法吗?我担心传播跨多个文件的标签是不好的做法。如果是这样,处理这种设计的正确方法是什么? 最佳答案 不对,你的做法是错误的。以下是您设计中的主要错误:您假设h

php - 在 PHP 中使用与包含

我正在努力了解PHPnamespace并使用PHPUnit进行测试。当我在Windows的命令行中运行phpunittest.php时,Codewars的这些测试通过了:assertEquals(pair_sum([1,9,2,8,3,7,4,6,5,5,13,14,11,13,-1],10),6);$this->assertEquals(pair_sum([1,2,3,1],3),1);$this->assertEquals(pair_sum([1,3,2,2],4),2);$this->assertEquals(pair_sum([1],4),false);$this->asser

php - 什么时候脚本会在 PHP 中包含两次?

这个问题在这里已经有了答案:include,include_once,requireorrequire_once?(8个答案)关闭9年前。我知道include_once和require_once只允许被调用的脚本运行一次。我的问题是:如果我不使用_once,它会一直运行多次吗?它默认运行不止一次吗?我搜索了答案,但一无所获。

php - 在站点上放置大量 PHP 包含项可以吗?

到目前为止,我的网站上包含大约3个PHP。为什么我不应该添加大量这些? 最佳答案 不是真的。它们被频繁且自由地使用——尽管更多时候是用来包含其他PHP文件。这些PHP文件通常会包含其他文件,所以真的不用担心。顺便说一句,如果您确实使用这种技术来包含其他PHP文件(例如,包含您正在使用的函数的库文件),那么使用require_once是个好主意(还有include_once,以及普通的require);如果找不到它的参数,require将导致错误,并且不会继续尝试呈现页面。require_once(和include_once)不会多次

php - 在 PHP 中自动加载特征

有什么方法可以让我在自动加载函数中区分traits和classes吗?假设我有一个类文件夹和一个特征文件夹;能够做类似...的事情会很好spl_autoload_register(function($resource){if(/*$resourceisclass*/){include'classes/'.$resource.'.php';}if(/*$resourceistrait*/){include'traits/'.$resource.'.php';}}); 最佳答案 自动加载回调函数只接收一条信息;请求的符号名称。无法查看它

php - 意外的 T_VARIABLE 错误

好吧,我知道这是一个很常见的问题,但到目前为止我找到的所有解决方案都涉及缺少分号或大括号,我知道这两种情况对我来说都不是。我有一个类可以很好地处理这个变量赋值:session.php:太棒了。但是我想将我的数据库详细信息放在另一个文件中,所以我这样做了:db_creds.php:'localhost',...);?>session.php然后给了我这个错误:Parseerror:syntaxerror,unexpectedT_VARIABLEin../session.phponline74,其中第74行是我的var$host作业。我什至尝试在session.php中这样做,只是为了确保

php - 有没有办法用 PHP "uninclude"文件?

我正在开发一个PHPIRC机器人,目前我正在处理命令。在main.php的开头,启动bot的脚本,它包含class_lib.php文件并实例化该类的对象。我想处理一个!reload命令,它将“取消包含”文件然后重新包含它。这是否可能,或者如果我在发送该命令时再次包含它会好吗?编辑:基本上,我希望能够修改和重新加载类而无需重新启动机器人。 最佳答案 不,你不能。重新审视您的设计。不要将类的定义与对象的实例化结合起来。 关于php-有没有办法用PHP"uninclude"文件?,我们在Sta

PHP:警告:包括无法在 Windows 上打开流没有这样的文件或目录

这个问题在这里已经有了答案:PHP-Failedtoopenstream:Nosuchfileordirectory(10个答案)关闭3年前。我在Windows上的xampp上运行的PHP脚本中有一个include语句。如果我使用相对路径:include'../config/eventInfoConfig.php';我收到错误信息:Warning:include(../config/eventInfoConfig.php)[function.include]:failedtoopenstream:Nosuchfileordirectory但是如果我使用绝对路径我没有错误:include