Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307

    Recuperare l'indirizzo della root

    Buonasera a tutti,
    esiste una variabile PHP che recuperi l'URL del sito
    Ad es., se la home page del mio sito è in http://www.somehoster.com/level1/sublevel2/index.php, dovrebbe restituirmi http://www.somehoster.com/level1/sublevel2/

  2. #2
    Ti suggerisco di iniziare leggendo il manuale ufficiale:

    http://www.php.net/dirname

    In alternativa, crea una costante.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    residenza
    Sardegna
    Messaggi
    308
    Non so se ho capito bene cosa chiedi, ma se ho interpretato bene, vuoi che mostri l'url senza index.php, il comando e' il seguente per darti l'url della pagina corrente:

    Codice PHP:
    <?php
    function curPageURL() {
     
    $pageURL 'http';
     if (
    $_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
     
    $pageURL .= "://";
     if (
    $_SERVER["SERVER_PORT"] != "80") {
      
    $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
     } else {
      
    $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
     }
     return 
    $pageURL;
    }
    ?>

  4. #4
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    Originariamente inviato da Webbabe
    Non so se ho capito bene cosa chiedi, ma se ho interpretato bene, vuoi che mostri l'url senza index.php, il comando e' il seguente per darti l'url della pagina corrente:

    Codice PHP:
    <?php
    function curPageURL() {
     
    $pageURL 'http';
     if (
    $_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
     
    $pageURL .= "://";
     if (
    $_SERVER["SERVER_PORT"] != "80") {
      
    $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
     } else {
      
    $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
     }
     return 
    $pageURL;
    }
    ?>
    Devo dire la verità, in maniera MOLTO, ma MOLTO meno raffinata e robusta di questa function, le $_SERVER le ho usate anch'io

    Però, mi pare che non esista una $_SERVER che restituisca l'URL della root.

    Nella pratica: ho una macchina di test in cui la home si raggiunge con http://localhost:8081/miosito/, in produzione è http://www.miosito.com/

    Mi serve una variabile, o function, o.... che sulla macchina di test restistuisce http://localhost:8081/miosito/, su quella di produzione http://www.miosito.com/

  5. #5
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    Ah, l'unico miglioramento che ti posso suggerire, è che con $_SERVER['HTTP_HOST'] ti risparmi l'ultimo if

    Inoltre (ma questa l'ho copiata dal manuale di dirname... ), questa è una soluzione molto elegante per recuperare il prefisso:

    $url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on')) ? 'https://' : 'http://';

  6. #6
    IMHO è molto più semplice se utilizzi una costante.

    Non esiste un modo per riuscire ad ottenere l'URL che ti serve con assoluta certezza in base ai valori contenuti in $_SERVER.

  7. #7
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307
    Originariamente inviato da filippo.toso
    IMHO è molto più semplice se utilizzi una costante.
    Era il Piano B.
    Ogni Charlie's Angel ha sempre un Piano B

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.