Scusa ma ho commesso un errore, eccoti la funzione corretta:
Codice PHP:
function root() {
$dir = realpath('./');
while($d = @realpath($dir . '/../')) {
$dir = $d;
}
return $dir . '/';
}
realpath restituisce il percorso senza lo slash finale. L'errore era:
Codice PHP:
while($d = @realpath($dir . '../')) {
Corretto diventa:
Codice PHP:
while($d = @realpath($dir . '/../')) {
In più ho aggiunto anche
Codice PHP:
return $dir . '/';
in modo da ottenere la root con lo slash finale.
Edit: credo di aver trovato un metodo "migliore", in modo da evitare di richiamare sempre la funzione realpath:
Codice PHP:
function root() {
$dir = './';
while(is_dir($dir . '../')) {
$dir .= '../';
}
return realpath($dir) . '/';
}