11
votes

Comment puis-je proprement diviser une variable de chemin dans PHP?

Je veux diviser xxx

dans ses composants. Comment puis-je déterminer le séparateur de caractères de manière dépendante du système d'exploitation?


0 commentaires

4 Réponses :


4
votes

Utilisez le path_sparator constante.


0 commentaires

20
votes

Vous pouvez utiliser la constante Path_Separator , puis la constante répertoire pour diviser le chemin si nécessaire. Voir Répertoire Constantes prédéfinies


2 commentaires

Vous ne pouvez pas utiliser Directory_Searator pour cela. Vous devez utiliser path_separator . Le premier est le caractère qui sépare les dossiers les uns des autres, le séparateur de trajectoire séparait des trajectoires différents, c'est-à-dire défini dans la variable environnementale du chemin.


@Greg,? Souhaitez-vous au moins nettoyer l'erreur ou supprimeriez-vous la réponse pour que d'autres ci-dessous puissent avoir une attention suffisante? Votre réponse avec 18 upvotes est fausse.



3
votes

Je sais que cela fonctionne pour l'inclusion_path - pas sûr de Getenv ('Path'):

$paths = split(PATH_SEPARATOR, getenv('PATH'));


2 commentaires

Incluse_Path est une chaîne de style de chemin valide pour tout système sur lequel vous vous trouvez: Les mêmes techniques de division qui fonctionnent pour une fonctionneront pour l'autre.


Notez que cet article a été écrit en 2009. Split () a été obsolète en fonction du manuel PHP.



0
votes

Il semble que je me souvienne que Windows acceptera à la fois des barres obliques vers l'avant et les back-backs en tant que séparateur de fichiers, vous n'avez peut-être pas à vous en soucier.


1 commentaires

Je pense qu'il désigne le séparateur pour les entrées de la variable d'environnement de chemin d'accès (par exemple ":" On * Nix), pas le séparateur à l'intérieur des chemins.