加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

从PHP类中的另一个函数调用一个函数

发布时间:2020-12-13 22:13:21 所属栏目:PHP教程 来源:网络整理
导读:我想扫描目录和子目录,制作xml文件列表,从xml文件中获取内容并显示它.此功能无需OOP即可正常工作.我尝试创建一个类.我从函数main调用函数scandir_through.我没有错误,结果也是如此. class data { var $dir = 'D:wamp4wwwbegin'; public function scandir_
我想扫描目录和子目录,制作xml文件列表,从xml文件中获取内容并显示它.此功能无需OOP即可正常工作.我尝试创建一个类.我从函数main调用函数scandir_through.我没有错误,结果也是如此.

class data {
    var $dir = 'D:wamp4wwwbegin';

    public function scandir_through($dir)
     {
         $items = glob($dir . '/*');
         for ($i = 0; $i < count($items); $i++) {
             if (is_dir($items[$i])) {
                 $add = glob($items[$i] . '/*');
                 $items = array_merge($items,$add);
             }
         }
        return $items;
     }

    public function main()
    {
        $scan_tree = $this->scandir_through($dir);
        echo "<ul id='booklist'>"."</n>";
        foreach ($scan_tree as $key=>$file){
            $url = $file;
            $xml = simplexml_load_file($url);  
               $book_count = count($xml->book); 
               for($i = 0; $i < $book_count; $i++) { 
                   $book = $xml->book[$i]; 
                   $title=$xml->book[$i]->title;
                   $author=$xml->book[$i]->author;
                   //echo '</br>';
                   //echo $file. " &nbsp   ";
                   //echo $title. " &nbsp   ";
                   //echo $author;
                   echo "<li><div class='file'>".$file."</div>
                   <div class='title'>".$title."</div>
                   <div class='author'>".$author."</div></li></n>";
               }     
         }  
          echo "</ul>";
    }
}
$d = new data();
$d->main();
?>

解决方法

问题是因为$dir实例变量不是您在main方法中访问的内容. (它在该方法的范围内寻找$dir变量,而不是在类级别.)

你需要使用的是……

$scan_tree = $this->scandir_through($this->dir);

如果你打开E_NOTICE警告,你会发现它会抛出错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读