Help! Backslaches et URL [Résolu]

Signaler
Messages postés
5
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
16 juin 2006
-
Messages postés
5
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
16 juin 2006
-
Bonjours, j’ai un petit problème d’URL. J’ai une page avec un formulaire et des filtres qui rechargent la page,… Bref je récupère une url du type C:\\Documents and Settings\\Baba\\Mes documents\\Mes images\\quiche-2.jpg<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>


Le problème est que je veux récupérer le nom de l’image sans le chemin et je n’y arrive pas. J’ai essayé  $nom_photo=basename($url) mais elle me retourne : Warning : Division by zero […]



Et
$nom_photo est vide









 





J’ai donc ceci :



$neddle ="\";





$tab_photo= explode($url,$neddle);





$nb=count($tab_photo);                                                                                





$nom_photo =$tab_photo[$nb-1];




Mais j’ai la même erreur sur $neddle="\";





Je pense que le probléme vient des \  






Est que quelqu’un pourrait éclairer ma lanterne car là je suis dans le brouillard ?


Merci,










Pour une Programmation musclé et en tout confort, une seul solution :=> le développez couché !!!

7 réponses

Messages postés
5
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
16 juin 2006

Houyou !!!!! J’ai trouvé la solution. En fait j’ai contourné le problème, mais bon sa marche et je vais pas passer 10 ans comprendre pourquoi ça marchais pas….<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>





En fait en faisant :






 






$sUrl = 'C:\\Documents and Settings\\Baba\\Mes documents\\Mes images\\quiche-2.jpg';





$Url= str_replace("\","/",$sUrl);





echo basename($Url);






 






Sa me met :





quiche-2.jpg




 





Voila,



C’est cool




 






Au fait désolé Malalam, j’ai écorché ton pseudo dans mon précédent post et merci de tes réponces.









Pour une Programmation musclé et en tout confort, une seul solution :=> le développez couché !!!
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

chez moi, ça :
<?php
$sUrl = 'C:\\Documents and Settings\\Baba\\Mes documents\\Mes images\\quiche-2.jpg';
echo basename ($sUrl);
?>

ça marche...
Messages postés
5
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
16 juin 2006

Merci de ta réponce,…<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>




 





C'est vrai??? Ca marche ?? Je ne comprends pas.

C'est peut-être un problème dans la configuration apache?
Sinon je ne sais pas trop d'ou ça viens...



 




Je ne comprend pas le message d’erreur, on dirait qu’il prend les // pour un division…


Cela dépasse mes compétences….




Pour une Programmation musclé et en tout confort, une seul solution :=> le développez couché !!!
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Utilise des apostrophes, au lieu de guillemets.
Messages postés
5
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
16 juin 2006

Oui, javais déja essayer , mais rien....


C'est dommage, je suis sure que sa doit pas être grand chose...


Pour une Programmation musclé et en tout confort, une seul solution :=> le développez couché !!!
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Si tu copies ce code, tout seul, sans rien d'autre, dans un fichier, et que tu lances le fichier, tu obtiens ton erreur ??

<?php
$sUrl = 'C:\\Documents and Settings\\Baba\\Mes documents\\Mes images\\quiche-2.jpg';
echo basename ($sUrl);
?>

juste ça hein!
Messages postés
5
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
16 juin 2006

C’est vrai, j’aurais du essayer ça avant, j’ai rajouté quelques tests pour voir si j’arrive au résultat. J’ai fait :



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /?>

 






<?php







 






$sUrl = 'C:\\Documents and Settings\\Baba\\Mes documents\\Mes images\\quiche-2.jpg';








echo basename ($sUrl)."
";









echo basename (basename($sUrl))."
";








echo basename (stripslashes($sUrl));







 





?>




 





Le résultat obtenu est bizarre :



C:\Documents and Settings\Baba\Mes documents\Mes images\quiche-2.jpg
C:\Documents and Settings\Baba\Mes documents\Mes images\quiche-2.jpg
C:Documents and SettingsBabaMes documentsMes imagesquiche-2.jpg




 





Je suis en train de regarder si il n’y a pas une directive de apache qui a un rapport avec basename() ou les url, mais je suis pas très sur de trouver ce que je cherche.



Aussi ma version de Php est la Version 4.3.2







Au fait merci de tes conseils malamam