Supporting function for cron uploader changes
This commit is contained in:
parent
40269a6f4a
commit
92a0afc15e
1 changed files with 45 additions and 0 deletions
|
@ -350,6 +350,51 @@ function join_url(string $base, string ...$paths)
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_dir_contents(string $dir): array
|
||||||
|
{
|
||||||
|
if(empty($dir)) {
|
||||||
|
throw new Exception("dir required");
|
||||||
|
}
|
||||||
|
if(!is_dir($dir)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
$results = array_diff(
|
||||||
|
scandir(
|
||||||
|
$dir),
|
||||||
|
['..', '.']);
|
||||||
|
|
||||||
|
return $results;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns amount of files & total size of dir.
|
||||||
|
*/
|
||||||
|
function scan_dir(string $path): array
|
||||||
|
{
|
||||||
|
$bytestotal = 0;
|
||||||
|
$nbfiles = 0;
|
||||||
|
|
||||||
|
$ite = new RecursiveDirectoryIterator(
|
||||||
|
$path,
|
||||||
|
FilesystemIterator::KEY_AS_PATHNAME |
|
||||||
|
FilesystemIterator::CURRENT_AS_FILEINFO |
|
||||||
|
FilesystemIterator::SKIP_DOTS);
|
||||||
|
foreach (new RecursiveIteratorIterator($ite) as $filename => $cur) {
|
||||||
|
try {
|
||||||
|
$filesize = $cur->getSize();
|
||||||
|
$bytestotal += $filesize;
|
||||||
|
$nbfiles++;
|
||||||
|
} catch (RuntimeException $e) {
|
||||||
|
// This usually just means that the file got eaten by the import
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$size_mb = $bytestotal / 1048576; // to mb
|
||||||
|
$size_mb = number_format($size_mb, 2, '.', '');
|
||||||
|
return ['path' => $path, 'total_files' => $nbfiles, 'total_mb' => $size_mb];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
|
||||||
* Debugging functions *
|
* Debugging functions *
|
||||||
|
|
Reference in a new issue