Convertire Url Relativi in Url Assoluti con PHP

18 Agosto 2015 di Daniele Frulla


URL - Uniform Resource Locator

URL (Uniform Resource Locator) non è altro che la stringa che metti nel tuo browser. Quando vedi un link, stai vedendo esattamente una URL.

Vi possono essere due tipi di URL:

  1. Url assoluta (per esempio “http://www.newstechnology.eu/it/argomenti/php“)
  2. Url relativa (per esempio  “../php“)

Url Assoluta

Quando mi trovo di fronte ad una URL assoluta è molto semplice, quello è link e non devo fare nessuna modifica per individurare il server che ospita la mia pagina relativa.

Url Relativa

I problemi iniziano a farsi sentire quando qualche pagina ti mostra una Url Relativa. In primo luogo dobbiamo individuare a quale sia il percorso a cui mi sto riferendo. Facciamo un esempio: mi trovo nella pagina “http://www.newstechnology.eu/it/argomenti/php/urls” ed all’interno della pagina trovo un link relativo di questo tipo “../url_relative“. In altri termini questa URL non è altro che questa “http://www.newstechnology.eu/it/argomenti/php/../url_relative” e tenendo presente che i puntini indicano di andare alla directory precedente il link assoluto sarà “http://www.newstechnology.eu/it/argomenti/url_relative“.

Funzione PHP per Convertire URL

Ho individuato quindi una funzione per convertire l’URL “http://www.newstechnology.eu/it/argomenti/../url_relative” in URL assoluto.

function convertUrlRelative( $address ) {
$address = explode('/', $address);
$keys = array_keys($address, '..');

foreach($keys AS $keypos => $key) {
array_splice($address, $key – ($keypos * 2 + 1), 2);
}

$address = implode(‘/’, $address);
$address = str_replace(‘./’, ”, $address);
return  $address;
}

 


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


Copyright di Caterina Mezzapelle Part. I.V.A. 02413940814 - R.E.A. 191812