如何单独获取包含子目录的所有目录并在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请求执行此操作并分批收集目录?