begin process at 2012 02 15 13:36:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caratère

 > PARSER LES SOUS-RÉPERTOIRES D'UNE URL

PARSER LES SOUS-RÉPERTOIRES D'UNE URL


 Information sur la source

Note :
Aucune note
Catégorie :Chaîne de caratère Classé sous :parser, url, sousrepertoires, dossier Niveau :Débutant Date de création :11/12/2005 Date de mise à jour :11/12/2005 23:10:04 Vu :6 685

Auteur : pichpoich

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

La fonction parse_url() ne parse pas les sous-répertoires d'une url (peut-être y a-t-il une fonction dédiée à cet effet ?), alors cette fonction sert à retrouver tous les sous-répertoires présent dans une url de type  http://www.site.php/doss1/doss2/page.php?cavamenan t=hein de les placer dans un tableau (içi on aura une valeur = doss1 et une valeur = doss2, pour les autres types d'url, je n'ai pas essayé.

Source

  • function dossier($url)
  • {
  • $lien_seg = parse_url("$url");
  • $do=dirname($lien_seg['path']);
  • preg_match_all('@[/]+[0-9_A-Za-z]{1,255}@', $do, $doss);
  • $n_ligne=count($doss[0]);
  • for ($i=0;$i<$n_ligne;$i++)
  • {
  • $doss[0][$i]=ereg_replace("[/]",'', $doss[0][$i]);
  • };
  • return $doss[0];
  • }
function dossier($url)
{ 
  $lien_seg = parse_url("$url");
  $do=dirname($lien_seg['path']);
  preg_match_all('@[/]+[0-9_A-Za-z]{1,255}@', $do, $doss);
  $n_ligne=count($doss[0]);
  for ($i=0;$i<$n_ligne;$i++)
  {
	 $doss[0][$i]=ereg_replace("[/]",'', $doss[0][$i]);
  };
  return $doss[0];
}

 Conclusion

function dossier($url)
{
  //**  sur une url de type http://www.site.com/doss1/doss2/page.php


  $lien_seg = parse_url("$url");
  //**  parse l'url


  $do=dirname($lien_seg['path']);
  //**  Je ne prends que $lien_seg['path'] : /doss1/doss2/page.php
  //**  puis avec dirname, je ne garde que /doss1/doss2
  //**  ATTENTION : $do est un array()
  //**  la chaine de caractère est dans $do[0]
  //**  on a : $do[0][0]='/doss1/doss2'


  preg_match_all('@[/]+[0-9_A-Za-z]{1,255}@', $do, $doss);
  //**  Je met tout ce qui est après le caractère "/" du tableau $doss
  //**  dans le tableau $do (je laisse passer les caractères pouvant
  //**  constituer un nom de dossier jusqu'a concurrence de 255 caractères)
  //**  on a maintenant $doss[0][0]='/doss1' et $doss[0][1]='/doss2'


  $n_ligne=count($doss[0]);
  //**  je compte le nombre de ligne du tableau $doss[o] pour la suite


  for ($i=0;$i<$n_ligne;$i++)
  {
      $doss[0][$i]=ereg_replace("[/]",'', $doss[0][$i]);
      //**  je remplace les caractères "/" par rien, bref je les enlève
      //**  je n'arrive pas à me servir de la fonction array_walk qui me
      //**  semblait approprièe
  };


  return $doss[0];
      //**  il suffira d'utiliser cette fonction comme çà :
      //**  $nom_de_dossiers = dossier($url); et dans le tableau
      //**  $nom_de_dossiers, vous avez tous les sous répertoires
      //**  de l'url.
      //**  un print_r ($nom_de_dossiers) affichera tout dans
      //**  un premier temps
}


 Historique

11 décembre 2005 23:10:04 :
.

 Sources du même auteur

Source avec Zip Source avec une capture CALENDRIER
Source avec Zip Source avec une capture EDITEUR ET JEUX DE QCM OU "CHERCHER L'INTRU" AVEC MYSQL

 Sources de la même categorie

ADRESSE ABSOLUE DE LA PAGE EN COURS, AVEC VARIABLES $_GET par Dariumis
Source avec Zip CLASSE D'OBJET DE RECHERCHE DE MOTS DANS DES TABLEAUX ET/OU ... par 8Tnerolf8
RÉCUPÉRER LES MINIATURES D'UNE VIDÉO YOUTUBE par tefa24600
Source avec Zip Source avec une capture CONVERTISSEUR DE NOMBRES EN TEXTE par macruz
Source avec Zip Source avec une capture CODAGE TEXTE >HTML, ISO, SPECIALCHARS, URL ET DECODAGE par Salva9473

 Sources en rapport avec celle ci

Source avec Zip CREATED SOME TINY URL par ledamss
VÉRIFICATION DES URL VALIDE AVEC PHP par dilar
FONCTION RECURSIVE DE DOSSIERS par tefa24600
REDIRECTION D'URL par bonhommecrea
PARSER UNE URL FTP par rclsilver02

Commentaires et avis

Commentaire de Anthomicro le 12/12/2005 15:45:54

Salut,

plutôt que d'utiliser des expressions régulières tu peux faire un explode avec le chemin retourné par parseurl, un explode de '/' et hop ;-)

a +

Commentaire de pichpoich le 12/12/2005 21:04:24

Ah oui, exact, je ne connaissais pas.

Merci.

Commentaire de coucou747 le 14/12/2005 15:34:52 administrateur CS

les expressions régulières pour ça ???
comme le dis antho, c'est inutile ici... elles sont trop lentes...

Commentaire de Antidote le 19/12/2005 19:22:20

je ne comprenais pas aussi, explode() forcément.

Commentaire de syllebreton le 22/12/2005 15:04:17

Bonjour

Une autre fonction php existe, c'est la fonction recursive_readdir.
Pour plus d'information reportez vous à ce site :

http://www.comscripts.com/sources/php.fonction-recursivereaddir.263.html

@+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Url [ par Toolsweb ] Salut, j'ai 13 ans et je viens tout juste de commencer le php. Ma question peut sembler stupide mais je la pose quand m&#234;me.Sur mon site, j'ai bea Parser le texte en entier [ par Also know as ] Bonjour, Voilà j'essaye de faire un parser. Tout ce qui est création du fichier xml etc pour le moment ca devrait aller, en fait je cherche plus préci Parser Xml rebelle [ par Diablo62 ] bonjour, Je souhaiterai parser ce fichier xml&lt;?xml version="1.0" encoding="iso-8859-1" ?&gt;<div class="c" style="MARGIN recuperation des données dans un tableau [ par ubela ] Bonjour à tous, J'ai un pb de récupération de données. Bien évidemment, je débute Dans le POO. J'ai récupéré un bout de code qui fctionne bien. Il par URL Rewriting et redirection : comment allier les deux ? [ par BenamourJr ] Bonjour, J'ai cette ligne dans mon .htacces qui me permet d'afficher dans le navigateur une url de type http://e-storia.info/dossier/individu/Barack_ Mise d'une BDD par un fichier XML [ par gnut ] Bonjour, J'ai réalisé (avec l'aide de "neige" d'ailleurs) un fichier .php permettant d'insérer ou de modifier une table de ma BDD selon un fichier XML site multilingue et multiextension [ par samt01 ] Bonjour, Voilà j'ai plusieurs url avec des extensions différentes : www.example.com www.example.fr www.example.it www.example.es et j'aimerais, en besoin dun script urgent [ par rafal96 ] je cherche un script qui pourrai que : quand on écrie dans un champ text un nom de dossier on est rediriger vers le dossier stp urgent merci Bouton supprimer [ par sitedenicolas ] Salut ! J'ai fait un script ([url=http://www.phpcs.com/codes/DOWN-UP-SCRIPT_52319.aspx]http://www.phpcs.com/codes/DOWN-UP-SCRIPT_52319.aspx[/url]) Mai


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales