Ho scritto una funzione che, a partire dall'url, scrive una riga con i nomi delle cartelle relative al percorso in cui ci si trova, e crea per ogni nome il rispettivo link alla cartella stessa.
E' scritta male, ma funziona.
Codice PHP:
$percorso = dirname($_SERVER['REQUEST_URI']);
// si può scrivere meglio questa riga?
$spezzato = str_replace("/","_", $percorso);
$chars = preg_split('/_/', $spezzato, -1, PREG_SPLIT_NO_EMPTY);
// ho usato str_replace perchè non so come riconoscere '/'
echo "Sei qui: ";
//a seconda della profondità ricostruisce il link
for($i = 0, $n = count($chars) ; $i < $n ; $i++) {
print ("<a href=\"");
if ($i==0) {
echo "../../";
}
if ($i==1) {
echo "../";
}
echo $chars[$i]. "\">" . $chars[$i] . "</a> > ";
}
// echo $title;
La parte più debole secondo me è il for: ricostruisce correttamente la profondita delle cartelle solo fino a due diramazioni dalla /root, a meno di non continuare con gli "if ($i==x"?
Come posso riscrivere al meglio questa funzione?