从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. "   "; //echo $title. "   "; //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警告,你会发现它会抛出错误. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |