Files
THOS-Server/api/search.php

37 lines
892 B
PHP
Raw Normal View History

2025-06-19 23:14:18 +02:00
<?php
header('Content-Type: application/json');
require_once __DIR__ . '/../vfs.php';
$dir = $_GET['dir'] ?? '';
$q = $_GET['q'] ?? '';
$showHidden = ($_GET['hidden'] ?? '0') === '1';
$base = resolve_path($dir);
if (!is_dir($base)) {
echo json_encode([]);
exit;
}
$out = [];
$it = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($base, FilesystemIterator::SKIP_DOTS)
);
foreach ($it as $f) {
$name = $f->getFilename();
if (!$showHidden && strpos($name, '.') === 0) continue;
if (stripos($name, $q) === false) continue;
$full = $f->getPathname();
$out[] = [
'name' => $name,
'virtual' => virtualize_path($full),
'isDir' => $f->isDir(),
'ext' => $f->getExtension(),
'size' => $f->getSize(),
'mtime' => $f->getMTime(),
];
}
echo json_encode($out);