加载目录下的文件

作者: 会长__ | 来源:发表于2018-10-30 23:07 被阅读2次
    <?php
    /**
     * User: yuzhao
     * CreateTime: 2018/10/30 上午11:58
     * Email: shixi_yuzhao@staff.weibo.com
     * Description:
     */
    
    class FileTool {
    
        /**
         * User: yuzhao
         * CreateTime: 2018/10/30 下午12:22
         * @var
         * Email: shixi_yuzhao@staff.weibo.com
         * Description: 文件夹相对路径
         */
        private $path;
    
        /**
         * FileTool constructor.
         */
        public function __construct($path='')
        {
            $this->path = $path;
        }
    
        /**
         * User: yuzhao
         * CreateTime: 2018/10/30 下午12:21
         * @param $path
         * Email: shixi_yuzhao@staff.weibo.com
         * Description: 返回当前对象
         */
        public static function instance($path='') {
            return new FileTool($path);
        }
    
        /**
         * User: yuzhao
         * CreateTime: 2018/10/30 下午12:18
         * @param $dir
         * Email: shixi_yuzhao@staff.weibo.com
         * Description: 加载目录下的所有文件
         */
        public function includeAll($dir){
            foreach ($dir as $key => $value) {
                $value = $this->path.$value;
                //打开文件夹
                $handler = opendir($value);
                //遍历脚本文件夹下的所有文件
                while( (($filename = readdir($handler)) !== false) ){
                    //如果文件为php脚本文件
                    if( substr($filename,-4) === '.php' ){
                        if ($filename == 'FileTool.php') {
                            continue;
                        }
                        //将文件包含进来
                        require_once( $value.'/'.$filename );
                        print_r($value.'/'.$filename."\n");
                    }
                }
                //关闭文件夹
                closedir($handler);
            }
        }
    }
    

    使用样例

    // 将自动导出数据api文件加载进来
    FileTool::instance('需要从哪里开始加载')->includeAll(array(
        '/子目录1','/子目录2
    ));
    

    相关文章

      网友评论

        本文标题:加载目录下的文件

        本文链接:https://www.haomeiwen.com/subject/qiantqtx.html