PHP:获取大量目录(包括子目录)到db的最快方法

时间:2016-06-15 08:24:13

标签: php database directory subdirectory readdir

如何单独获取包含子目录的所有目录并在PHP中保存在数据库中?我正在使用MySQL和PHP 5.4和nginx。

现在我有以下功能使用readdir并做我想要的就好了。

protected function getSubDirsRecursively($dir)
{
    $result = array();
    $dir = rtrim($dir, '\\/');

    if (is_dir($dir)) {
        $dh = opendir($dir);
        while (($file = readdir($dh)) !== false) {
            $currentPath = $dir . DIRECTORY_SEPARATOR . $file;
            if ($file !== '.' && $file !== '..' && is_dir($currentPath)) {
                $result[] = $currentPath;
                $result = array_merge($result, $this->getSubDirsRecursively($currentPath));
            }
        }
        closedir($dh);
    }

    return $result;
}

但问题是,当用户拥有大量目录(例如1m)和PHP执行时间限制时,由于共享托管而无法更改。

是否可以使用ajax请求执行此操作并分批收集目录?

0 个答案:

没有答案