cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 2015
-
18 avril 2007 à 16:18
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 2015
-
23 avril 2007 à 14:18
Salut
j'ai trouvé cette fonction sur php.net rubrique basename. elle fonctionne mais j'ai du mal à comprendre le motif preg_replace utilisé...et vu que j'ai pas envie de mourir idiot :) et qu'on retiens que ce qu'on comprends... je me demandais si une âme charitable pourrait m'expliquer son fonctionnement
//renvoie le nom du fichier quelque soit le séparateur de dossier utilisé \ ou /
// fonctionne donc sous linux et win
function get_basename ($fichier) {
$basename = preg_replace( '/^.+[\\\\\\/]/', '', $fichier );
return $basename ;
}
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 19 avril 2007 à 02:31
Salut,
les expressions regulieres :) quelle joie :
^ t'indique que c'est le debut de ta chaine ($ la fin)
. c'est n'importe quel char sauf \r et \n
+ c'est au moins une fois
[abc] c'est l'un des caractere a, b ou c
\\ c'est le caractere \
donc '\\\\' c'est \
et \\/ c'est /
en gros ca te supprime tout ce que tu as devant le nom du fichier dans une adresse de fichier (tout jusqu'au le dernier /)
In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy
Mon site (articles sur la programmation et programmes)
cs_caviar
Messages postés329Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention29 mars 20152 20 avril 2007 à 09:49
merci pour vos réponses...
effectivement c'est bien ce que je voulais faire (récupérer juste le nom dans un chemin)... j'ai essayé la fonction basename mais sur certains formulaires envoyés depuis PC, le serveur linux ne reconaissait pas les antislash et je me retrouvais avec tout le chemin concatainé comme nom de fichier (bug de la fonction basename je pense) ...du coup cette fonction marche :)
coucou747 tu dis
\\ c'est le caractere \
donc '\\\\' c'est \
-> Pourquoi ? si \\ = \ alors \\\\ devrait être = à \\ non ?
et donc \\\\\\/ devrai correspondre à \\\ et un / tout seul ?
c'est ça qui me chiffone ... j'arrive pas à comprendre leur histoire
enfin la fonction marche bien ... mais je sais pas comment ...lol
@++
Vous n’avez pas trouvé la réponse que vous recherchez ?