Files
THOS-Server/vfs.php

16 lines
692 B
PHP
Raw Normal View History

2025-06-05 08:52:31 +02:00
<?php
require_once "config.php";
// Converts virtual path like "/Documents/file.txt" → real path like "/home/surillya/Documents/file.txt"
function resolve_path(string $virtualPath): string {
$virtualPath = str_replace('..', '', $virtualPath); // prevent traversal
return rtrim(REAL_ROOT, '/') . '/' . ltrim($virtualPath, '/');
}
// Converts real path like "/home/surillya/Documents/file.txt" → virtual path like "/Documents/file.txt"
function virtualize_path(string $realPath): string {
if (str_starts_with($realPath, REAL_ROOT)) {
return '/' . ltrim(substr($realPath, strlen(REAL_ROOT)), '/');
}
return $realPath; // fallback, possibly invalid or external
}