- Home
- Categorie
- Coding e Sistemistica
- Coding
- file() e variabile
-
file() e variabile
Ciao a tutti, ho necessità di usare la funzione file() di php, passando l'url di una pagina.
Nello specifico in questo modo funziona:
$file = file("http: / / www . pippo .it");
mentre se l'url lo passo dinamicamente tramite una variabile, cosi':
$file = file("$urlPagina");
non funziona piu' e viene restituito un errore php.
Come mai? Devo fare qualche operazione sulla variabile prima di darla in pasto alla funzione file??
Grazie mille
-
Ciao francy88,
dovresti dirci l'errore, comunque probabilmente passi un percorso errato.
-
Effettivamente stavo passando un url sbagliato perche senza "http : / /" davanti a tutto.
Se pero' provo a concatenarlo si incasina tutto e la pagina continua a ricaricare all'infinito.....
-
Senza che posti il codice è impossibile dirti dove sbagli...
-
Hai ragione, scusami.
Ecco il codice:
[php]
$urlPagina = $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'];
$file = file($urlPagina);
$file = file_get_contents("",$file);if(preg_match("/<title>(.+)</title>/i",$file,$m)){
print "The title of $url is <b>$m[1]";}
else{
print "The page doesn't have a title tag";}[/php]cosi non funziona perchè manca l'http
/ davanti all'url.Se invece provo cosi:
[php]
$urlPagina = "http: / /" . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'];
$file = file($urlPagina);
$file = file_get_contents("",$file);if(preg_match("/<title>(.+)</title>/i",$file,$m)){
print "The title of $url is <b>$m[1]";}
else{
print "The page doesn't have a title tag";}[/php]non si genera più alcun errore ma la pagina si carica all'infinito (non so se schianta apache o cosa...)L'url della pagina son costretto a ricavarlo con
[php]$_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'];[/php]perche REQUEST_URI non è attivo sul server....Grazie.
-
E ma cosi stai richiamando se stesso, quindi entra in un ciclo infinito.
-
Ah non ci avevo pensato...sai suggerirmi qualcosa di funzionale? Io ho provato di tutto ma senza risultati...
Grazie mille.
-
Hem, ti sei dimenticato di dirmi cosa vorresti fare...
-
Ho risolto!
In pratica mi serviva costruire una funzione che ritornasse il titolo della pagina corrente.
Se servisse a qualcun altro il codice è questo:[PHP]function cercaTitoloPagina(){
$data=file_get_contents($_SERVER['SCRIPT_FILENAME']);
preg_match("/<title>(.+)</title>/i", $data, $m);
$titoloPagina = "$m[1]";
return ($titoloPagina);
}[/PHP]grazie per il supporto!