登录

php - 没有调用为什么页面里会有值

<?php
// $Rev: 129 $
//error_reporting(E_ALL);

foreach (new DirectoryIterator(getcwd()) as $entry) {
    if ($entry->isFile() && strpos($entry, '_testcase.')>0) {
        echo basename($entry);
        require_once($entry);
        echo '<br>...pass!<br><br>';
    }
}
?>

这样一段代码。在一个cms里看到的。 为什么访问的时候会报错

element_testcase.php
Warning: require_once(../../simple_html_dom_reader.php): failed to open stream: No such file or directory in C:\inetpub\wwwroot\web\inc\simplehtmldom_1_5\testcase\reader\element_testcase.php on line 6

Fatal error: require_once(): Failed opening required '../../simple_html_dom_reader.php' (include_path='.;C:\php\pear') in C:\inetpub\wwwroot\web\inc\simplehtmldom_1_5\testcase\reader\element_testcase.php on line 6

我的意思是报错。。说明有值,但是这个页面没调用别的文件,而且 DirectoryIterator这个类和getcwd()这个函数,我全文搜索都找不到。

在说明一下,把上面的代码复制,新建一个php文件,在访问,就是空了,,这是为什么呢???

# PHP
伊谢尔伦伊谢尔伦2153 天前308 次浏览

全部回复(1) 我要回复

  • 黄舟

    黄舟2017-04-10 16:44:46

    1. 这个报错是在告诉你 simple_html_dom_reader.php 无法加载,你应该检查require_once是不是路径有问题,或者文件是否已经删除

    2. DirectoryIterator 是PHP的内建类,请看 http://php.net/manual/zh/class.directoryiterator.php 用于对目录的迭代,getcwd是获取当前工作目录,PHP内建方法

    3. 其实这个时候你用xdebug单步调一下或者运行个跟踪分分钟就知道问题出在哪里。。。

    回复
    0
  • 取消回复发送