


Comment convertir un chemin relatif en URL absolue en utilisant PHP ?
Nov 07, 2024 am 11:52 AMTransformer les chemins relatifs en URL absolues avec PHP
La conversion des chemins relatifs en URL absolues est essentielle pour travailler avec des ressources Web. Cette tâche peut être accomplie à l'aide de PHP, un langage de script largement utilisé pour le développement Web.
Comment convertir un chemin relatif en URL absolue à l'aide de PHP :
Pour réaliser cette conversion, vous pouvez utiliser la fonction rel2abs() :
function rel2abs($rel, $base) { /* return if already absolute URL */ if (parse_url($rel, PHP_URL_SCHEME) != '') return $rel; /* queries and anchors */ if ($rel[0]=='#' || $rel[0]=='?') return $base.$rel; /* parse base URL and convert to local variables: $scheme, $host, $path */ extract(parse_url($base)); /* remove non-directory element from path */ $path = preg_replace('#/[^/]*$#', '', $path); /* destroy path if relative url points to root */ if ($rel[0] == '/') $path = ''; /* dirty absolute URL */ $abs = "$host$path/$rel"; /* replace '//' or '/./' or '/foo/../' with '/' */ $re = array('#(/\.?/)#', '#/(?!\.\.)[^/]+/\.\./#'); for($n=1; $n>0; $abs=preg_replace($re, '/', $abs, -1, $n)) {} /* absolute URL is ready! */ return $scheme.'://'.$abs; }
Explication :
- Vérifiez si le chemin relatif est déjà une URL absolue ( contient un schéma).
- Concaténez les requêtes ou les ancres avec l'URL de base.
- Analysez l'URL de base en ses composants de schéma, d'hôte et de chemin.
- Convertissez le relatif fourni chemin dans une URL absolue "sale".
- Remplacez de manière itérative les modèles tels que "//" ou "/./" ou "/foo/../" par "/" pour nettoyer l'URL absolue.
- Renvoyer l'URL absolue nettoyée.
Utilisation :
Vous pouvez utiliser cette fonction pour transformer n'importe quel chemin relatif en son URL absolue correspondante. Par exemple, les extraits suivants illustrent comment transformer un chemin relatif en URL absolue :
$rel_path = "images/profile.jpg"; $base_url = "https://example.com/"; $abs_url = rel2abs($rel_path, $base_url); // Output: "https://example.com/images/profile.jpg"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium)

Travailler avec les données de session Flash dans Laravel

Misque de réponse HTTP simplifié dans les tests Laravel

Construisez une application React avec un Laravel Back End: Partie 2, React

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST

12 meilleurs scripts de chat PHP sur Codecanyon
