首頁 >後端開發 >php教程 >没有调用为什么页面里会有值

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

WBOY
WBOY原創
2016-06-06 20:19:361199瀏覽

<code><?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>';
    }
}
?></code>

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

<code>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</code>

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

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

回复内容:

<code><?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>';
    }
}
?></code>

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

<code>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</code>

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

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

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

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

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn