Newsgroup: it.comp.www.php
Titolo: troncare il path

Salve,
facendo:
echo $_SERVER['PHP_SELF'];
ottengo il precorso completo del file con il quale sto lavorando, tipo 
/test/dir1/dir2/prova.php
Il caso specifico e': ho pensato di modificare i titoli delle pagine
a seconda del file aperto, ossia:
Se il risultato di $_SERVER['PHP_SELF'] e' uguale a indice.php
	il titolo sara' "titolo"
Se il risultato di $_SERVER['PHP_SELF'] e' uguale a prova.php
	il titolo sara' "titolo2";
.
.
.
e cosi' via.
Ora il problema e' che sto lavorando sulla path completa quindi
l'uguaglianza non verra' mai, come dire, completata (scusate non mi
viene null'altro che questo termine al momento) e mi ritrovo con titoli
di pagina che non mi gustano, affatto.
Essendo un 'web master' della vecchia scuola faccio molta attenzione ai
titoli di pagina, e devo assolutamente poter modificare i titoli come
dico io.
Alcune premesse, si e' meglio uno switch, lo so, ma preferisco prima
capire il meccanismo e poi migliorare il codice, un passo alla volta;
so per certo che ci sono metodi migliori per determinare i nomi delle
pagine ma utilizzo php da sabato pomeriggio, quindi ho i miei tempi.
Ergo, vorrei continuare con la mia logica.
Inoltre vorrei sapere se c'e' un modo per poter effettivamente
'comparare' $_SERVER['PHP_SELF'] con un nome di file.
Mi date una mano cortesemente ? Grazie, mille, ciao


Documentazione su strrpos():
http://it.php.net/strrpos
<?php
$file = strrpos($_SERVER['PHP_SELF'], "/");
//ottieni cosi la stringa seguente:
// /prova.php
//Documentazione su strrpos():
//
http://it.php.net/strrpos
//poi
$file = str_replace("/","",$file):
//ed ottieni: prova.php
if ($file == "prova.php") {$titolo = "Prova";}
if ($file == "prova5.php") {$titolo = "Prova 5";}
//...
?>
Ciao :)

Fabrizio yQy ha scritto:

correggo :)
$url = $_SERVER['PHP_SELF'];
$pos = strrpos($url, "/");
$file = substr($url, $pos);
$file = str_replace("/","",$file);
........
Ciao :)

 'comparare' $_SERVER['PHP_SELF'] con un nome di file.
Il manuale, questo sconosciuto ...
print(basename($_SERVER['PHP_SELF']));
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 $_SERVER['PHP_SELF'] con un nome di file.
basename($_SERVER['PHP_SELF']);
Restituisce il nome del file.
http://www.php.net/basename
http://www.php.net/pathinfo
Ciao.
-- 
Federico

 print(basename($_SERVER['PHP_SELF']));
Ma tu devi rispondere sempre con quest'arroganza fammi capire ?!?
E chi ti dice che non ci sto dalle 15:00 di oggi pomeriggio sul
manuale ? 
Mah, grazie comunque a chi risponde senza inutili, quanto fastidiosi
commenti da troll.

 commenti da troll.
Grazie anche a tutti coloro che cercano la soluzione ai propri problemi
sul manuale prima di postare un messaggio da RTFM.
-- 
I am what I am, I do what I can


 - o fai finta di leggerlo
Ripeto, sei un arrogante e non ti permetto nella maniera piu' assoluta
di sindacare cio' che io faccio, chiaro il concetto ? ma come ti
permetti ??? Ma chi ti da il diritto di fare simili affermazioni ? 
Comunque, all'ignoranza non c'e' rimedio amico mio, saprai qualche
linea di codice php ma il resto, beh ... si commenta da solo.
Un'altro troll in <black list>, poco male!!!

 $file = str_replace("/","",$file);
Grazie mille, ho risolto, prezioso come sempre.
Ciao :)

 Un'altro troll in <black list>, poco male!!!
Ti consiglio vivamente di controllare su Google che cosa si intende per
troll. E comunque cambia poco visto che le mie risposte ai tuoi post
rimarranno visibili a tutti gli altri.
P.S.
Mi sto ancora chiedendo come tu in oltre 2 ore di manuale non sia stato
in grado di trovare la funzione che a partire da un path restituisce il
nome del file.


 $file = str_replace("/","",$file);
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Solo una precisazione: quella riga è inutile se nella precedente
scrivi:
$file=substr($url,$pos+1);
Ciao, 
    Fabrizio

Negus ha scritto:

ragione in pieno, grazie per la correzione :)
non sono un bravo programmatore.
ciao, fabrizio anche io