<?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
));