加载目录下的文件

<?php
/**
 * User: yuzhao
 * CreateTime: 2018/10/30 上午11:58
 * Description:
 */

class FileTool {

    /**
     * User: yuzhao
     * CreateTime: 2018/10/30 下午12:22
     * @var
     * Description: 文件夹相对路径
     */
    private $path;

    /**
     * FileTool constructor.
     */
    public function __construct($path='')
    {
        $this->path = $path;
    }

    /**
     * User: yuzhao
     * CreateTime: 2018/10/30 下午12:21
     * @param $path
     * Description: 返回当前对象
     */
    public static function instance($path='') {
        return new FileTool($path);
    }

    /**
     * User: yuzhao
     * CreateTime: 2018/10/30 下午12:18
     * @param $dir
     * 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
));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容