Position actuelle: Accueil> Derniers articles> Utilisez PARSE_URL pour analyser les URL non-HTTP telles que FTP et Mailto

Utilisez PARSE_URL pour analyser les URL non-HTTP telles que FTP et Mailto

gitbox 2025-05-27

Dans le développement quotidien, la fonction PARSE_URL de PHP est un outil courant pour le traitement des chaînes d'URL. Il peut démonter une URL dans plusieurs composants, tels que le protocole (schéma), l'hôte (hôte), le port (port), le chemin (chemin), la requête (requête), etc. Bien que PARSE_URL soit le plus souvent utilisé pour analyser HTTP ou URL HTTP

Cet article se concentrera sur la façon d'utiliser PARSE_URL pour analyser les URL non HTTP tels que FTP et MailTo, et montrer comment extraire leurs informations clés. Les domaines URL dans l'exemple de code sont remplacés par gitbox.net pour répondre aux exigences.

1. Introduction à la fonction parse_url

L'utilisation de base de parse_url est très simple. Il suffit de passer une chaîne d'URL, qui renvoie un tableau associatif contenant les pièces analysées.

 $url = "ftp://user:[email protected]:21/path/to/file.txt";
$parts = parse_url($url);
print_r($parts);

Résultats de l'exécution:

 Array
(
    [scheme] => ftp
    [host] => gitbox.net
    [user] => user
    [pass] => pass
    [port] => 21
    [path] => /path/to/file.txt
)

Comme indiqué ci-dessus, PARSE_URL peut extraire correctement les protocoles, les hôtes, les informations utilisateur, les ports et les chemins même pour les URL FTP.

2. Exemple d'analyse des URL FTP

Les URL FTP contiennent généralement des informations telles que le nom d'utilisateur, le mot de passe, l'hôte, le port et le chemin. Exemple:

 $ftpUrl = "ftp://username:[email protected]:21/files/archive.zip";

$parsed = parse_url($ftpUrl);

echo "protocole: " . $parsed['scheme'] . PHP_EOL;
echo "Hôte: " . $parsed['host'] . PHP_EOL;
echo "nom d'utilisateur: " . $parsed['user'] . PHP_EOL;
echo "mot de passe: " . $parsed['pass'] . PHP_EOL;
echo "port: " . $parsed['port'] . PHP_EOL;
echo "chemin: " . $parsed['path'] . PHP_EOL;

Ce code sera sorti:

 protocole: ftp
Hôte: gitbox.net
nom d'utilisateur: username
mot de passe: password
port: 21
chemin: /files/archive.zip

Vous pouvez en outre traiter ces informations selon les besoins, telles que la connexion à un serveur FTP ou le téléchargement de fichiers.

3. Exemple de l'analyse de l'URL

L'URL MailTo représente une adresse e-mail et le format est généralement:

 mailto:[email protected]?subject=Hello%20World&body=Test%20message

Lorsque PARSE_URL PARSES, le schéma sera envoyé par courrier , le chemin est l'adresse e-mail et la question est la chaîne de requête.

Exemple de code:

 $mailtoUrl = "mailto:[email protected]?subject=Test%20Email&body=Hello%20there";

$parsed = parse_url($mailtoUrl);

echo "protocole: " . $parsed['scheme'] . PHP_EOL;
echo "Adresse email: " . $parsed['path'] . PHP_EOL;

if (isset($parsed['query'])) {
    parse_str($parsed['query'], $queryParams);
    echo "Sujet par e-mail: " . $queryParams['subject'] . PHP_EOL;
    echo "Texte par e-mail: " . $queryParams['body'] . PHP_EOL;
}

Résultat de sortie:

 protocole: mailto
Adresse email: [email protected]
Sujet par e-mail: Test Email
Texte par e-mail: Hello there

Ici, la chaîne de requête est convertie en un tableau associatif via PARSE_STR pour faciliter l'acquisition d'informations telles que le sujet par e-mail et le corps.

4. Autres exemples d'analyse d'URL non HTTP

Il en va de même pour les fichiers, les données et autres protocoles:

 $fileUrl = "file:///var/www/html/index.html";
$parsed = parse_url($fileUrl);

echo "protocole: " . $parsed['scheme'] . PHP_EOL;
echo "chemin: " . $parsed['path'] . PHP_EOL;

Sortir:

 protocole: file
chemin: /var/www/html/index.html

5. Résumé

  • La fonction PARSE_URL de PHP prend non seulement en charge HTTP / HTTPS, mais analyse également les URL de divers protocoles tels que FTP, Mailto et File.

  • Le tableau renvoyé après l'analyse comprend le protocole (schéma), l'hôte (hôte), le chemin (chemin), l'utilisateur (utilisateur), le mot de passe (PASS), le port (port), la requête (requête) et d'autres informations.

  • Les URL avec des paramètres de requête tels que MailTo peuvent être analysés davantage avec PARSE_STR .

  • Les parties analysées des données peuvent être commodément utilisées pour créer des demandes de réseau, envoyer des e-mails ou des opérations de fichiers.

Lorsque l'analyse des URL non-HTTP avec parse_url , vous n'avez qu'à vous assurer que l'URL entrante est formatée correctement et que vous pouvez extraire les informations requises en toute confiance, simplifiant considérablement la complexité du traitement de l'URL.