Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.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_Include - Fatal编程技术网

PHP包含奇怪的行为

PHP包含奇怪的行为,php,include,Php,Include,我在一个客户端网站(PHP)上工作,有一个非常奇怪的行为。使用include、include_once、require或require_once似乎也会引入其他根本不应该存在的内容。有人听说过这样的事吗 即使include文件是空的或上面只有一些文本,该行为仍然存在。这可能是某种设置/全局行为吗 多谢各位 例如: <?php require_once('dir/subdir/file.php'); ?> 您应该始终使用绝对路径。这是引用文件的唯一可靠方法 <?php requ

我在一个客户端网站(PHP)上工作,有一个非常奇怪的行为。使用include、include_once、require或require_once似乎也会引入其他根本不应该存在的内容。有人听说过这样的事吗

即使include文件是空的或上面只有一些文本,该行为仍然存在。这可能是某种设置/全局行为吗

多谢各位

例如:

<?php require_once('dir/subdir/file.php'); ?>

您应该始终使用绝对路径。这是引用文件的唯一可靠方法

<?php require_once(__DIR__ . '/dir/subdir/file.php'); ?>

或在PHP 5.2上:

<?php require_once(dirname(__FILE__) . '/dir/subdir/file.php'); ?>

include/require函数通过将所需文件的内容复制到调用该函数的占位符来工作。如果包含的文件为空,则复制的文件为空。如果您包含了您无法识别的内容,这可能意味着您的包含路径可能指向了您所想之外的其他地方,或者所包含的文件可能依次包含了一些额外的文件

作为全局设置,php.ini中指定了一个全局php,人们通常在其中添加库或全局脚本。默认情况下,它不应该包含影响脚本的内容


如果在include_路径中找不到该文件,include将在失败之前最终签入调用脚本自己的目录和当前工作目录

你能提供一些示例代码吗?没有人能通过猜测你想做什么来帮助你。展示一些代码并详细说明“其他内容”是什么。我在包含和输出缓冲方面有过一些有趣的经历-你在使用缓冲区吗?嗨,你很难理解哪一部分?听起来你的代码中有其他一些包含-这就是为什么要求你提供完整代码的原因