rtrim($relative, '/'), 'type' => $isDir ? 'folder' : 'file', 'size' => (!$isDir && is_file($item)) ? (int)filesize($item) : 0, 'user' => 'Imported', 'uploadDate' => date('c'), ]; // Ensure parent directory exists with sane perms (umask from start.sh handles final modes) $parent = dirname($metaPath); if (!is_dir($parent)) { @mkdir($parent, 0775, true); } if (@file_put_contents($metaPath, json_encode($metadata, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)) === false) { fwrite(STDERR, "Failed to write metadata: {$metaPath}\n"); } else { echo "Created metadata for: {$relative}\n"; } } }