Comparaion de string en php
Guillaume Simon
-
Guillaume -
Guillaume -
J'aimerais comparer deux chaines de caractères pour savoir si la première contient un bout de la deuxième .. Je m'explique
J'ai la première chaine qui ressemble à ca :
Infos/technique/OS/Windows/Windows 98/
La deuxième ressemble à ca :
Windows 98
J'aimerais simplement savoir comment tester que le "Windows 98" est bien contenu dans la première chaine ?
Merci d'avance
J'ai la première chaine qui ressemble à ca :
Infos/technique/OS/Windows/Windows 98/
La deuxième ressemble à ca :
Windows 98
J'aimerais simplement savoir comment tester que le "Windows 98" est bien contenu dans la première chaine ?
Merci d'avance
A voir également:
- Comparaion de string en php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php ✓ - Forum PHP
- Php alert - Forum PHP
- Saut de ligne php ✓ - Forum PHP
13 réponses
Salut,
c'est faisable avec la fonction reguliere standard ereg()
$test = ereg ( "Infos/technique/OS/Windows/Windows 98/ ","Windows 98 ")
Dans ce cas la, $test = true.
Tu auras plus d'infos ici: http://www.php.net/manual/fr/function.ereg.php
Il existe un paquet de fonction pour manipuler les chaines, ereg en est une.
A+ !
Kalamit,
Je ponce donc j'essuie
c'est faisable avec la fonction reguliere standard ereg()
$test = ereg ( "Infos/technique/OS/Windows/Windows 98/ ","Windows 98 ")
Dans ce cas la, $test = true.
Tu auras plus d'infos ici: http://www.php.net/manual/fr/function.ereg.php
Il existe un paquet de fonction pour manipuler les chaines, ereg en est une.
A+ !
Kalamit,
Je ponce donc j'essuie
Merci beaucoup ..
Bon maintenant qu'on est lancé .. encore une petite question .. j'aimerais sortir le nom du répertoire ou le fichier est posé ..
J'ai réussi à avoir le chemin complet sur le disque mais j'aimerais juste le nom du répertoire (".") ... Merci
Bon maintenant qu'on est lancé .. encore une petite question .. j'aimerais sortir le nom du répertoire ou le fichier est posé ..
J'ai réussi à avoir le chemin complet sur le disque mais j'aimerais juste le nom du répertoire (".") ... Merci
Re-
getcwd() te retourne le dossier courant. Je sais pas si c'est ce que tu cherches...
http://www.php.net/manual/fr/function.getcwd.php
A+!
Kalamit,
Je ponce donc j'essuie
getcwd() te retourne le dossier courant. Je sais pas si c'est ce que tu cherches...
http://www.php.net/manual/fr/function.getcwd.php
A+!
Kalamit,
Je ponce donc j'essuie
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bah après il te suffit de découper la chaine à partir du dernier "\" que tu trouves...
Faisable avec explode(), http://www.php.net/manual/fr/function.explode.php
J'ai pas trouver de fonction qui te renvoie le nom du repertoire courant...
Kalamit,
Je ponce donc j'essuie
Faisable avec explode(), http://www.php.net/manual/fr/function.explode.php
J'ai pas trouver de fonction qui te renvoie le nom du repertoire courant...
Kalamit,
Je ponce donc j'essuie
Bon vu que j'ai qqn qui m'écrit mon code .. j'ose encore te poser une question ... j'ai pas trop envie de réfléchir un max .. comment je fais pour prendre le dernier morceaux de mon url .. style que le nom du répertoire .. Est qu'on peut directement avoir accès à la derniere case du tableau créé par explode() ?
Merci encore
Merci encore
$champs = explode ("\", $Dir);
Il comprends rien PHP a cause du \ ... Comment lui dire qu'il doit quand meme travailler avec ce caractère ?
Fait un str_replace ? Il fait aussi une erreur ...
Il comprends rien PHP a cause du \ ... Comment lui dire qu'il doit quand meme travailler avec ce caractère ?
Fait un str_replace ? Il fait aussi une erreur ...
<?
$Dir = getcwd();
$Dir = htmlspecialchars($Dir);
$Dir = str_replace("\\", "/", $Dir);
$champs = explode ("/", $Dir);
echo "$Dir";
$boucle=0;
while ($boucle < sizeof($champs)-1) {
$boucle++;
}
?>
C'est tout bon
$Dir = getcwd();
$Dir = htmlspecialchars($Dir);
$Dir = str_replace("\\", "/", $Dir);
$champs = explode ("/", $Dir);
echo "$Dir";
$boucle=0;
while ($boucle < sizeof($champs)-1) {
$boucle++;
}
?>
C'est tout bon
:oD
Je crois pouvoir dire que c'est inutile ;-)
$champs = explode ("\\", $Dir);
Ceci suffisait.
-= Bobinours - http://bobin.underlands.org =-
Je crois pouvoir dire que c'est inutile ;-)
$champs = explode ("\\", $Dir);
Ceci suffisait.
-= Bobinours - http://bobin.underlands.org =-
Au fait, as-tu compris pourquoi il fallait mettre \\ au lieu de \ ?
-= Bobinours - http://bobin.underlands.org =-
-= Bobinours - http://bobin.underlands.org =-
Et ca marche nickel ? Tout va bien alors !
N'hesites pas si tu as d'autres problemes. Je peux t'aiguiller te mettre sur la voie, mais j'evite de te donner des réponses toutes faites... Tu ne progresserais pas. (Et je suis en vacances la semaine prochaine :o)) )
Kalamit,
Je ponce donc j'essuie
N'hesites pas si tu as d'autres problemes. Je peux t'aiguiller te mettre sur la voie, mais j'evite de te donner des réponses toutes faites... Tu ne progresserais pas. (Et je suis en vacances la semaine prochaine :o)) )
Kalamit,
Je ponce donc j'essuie
Je m'étais planté .. j'avais inversé les deux string .. ca marche maintenant .. enfin :-) .. Enfin me reste toute la gestion derrière à programmer mais le gros ca marche ..
Bobinours .. C'est à cause que l'antislash est caractères fonctionnel sous php non ?
Et encore une kestion .. voici mon code :
$rep=opendir($dossiercours);
$compteur=0;
while ($file = readdir($rep)) {
if($file != '..' && $file !='.' && $file !=''){
if (is_dir($file)){
$compteur++;
if ($compteur%3!=0):
{
?>
<td width="33%" height="30" valign="top">
<table border="1" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber3" height="37">
<tr>
<td width="101%" bgcolor="#482B7F" height="13">
<p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">
<?echo("$file");?></font></b></td>
</tr>
<?
include "connectbd.php";
$sql = "select * from ".$prefixe."_dossiers order by nomdossier";
$resultat = mysql_query($sql);
while($ligne = mysql_fetch_array($resultat)){
$id_dossier = $ligne["id_dossier"];
$nomdossier = $ligne["nomdossier"];
$descriptiondossier = $ligne["descriptiondossier"];
$liendossier = $ligne["liendossier"];
$test = eregi("$file",$liendossier);
if ($test == "1"):
{
?>
<tr>
<td height="12"><font face="Verdana" size="1"> -<?echo("<a \"text-decoration: none\" href=%22index.php?Page=administration/$liendossier//"> $nomdossier");?></font></td>
</tr>
<?
}
endif;
}
?>
Sur l'opendir, il me fait aucune erreur, ce qui veut dire qu'il arrive bien à ouvrir le dossier .. ensuite je lui demande de me lister les répertoires et de me les afficher dans un tableau .. mais rien n'apparait .. si je place le code dans le répertoire en cours et que je fais opendir('.'); ca marche .. mais j'aimerais faire un opendir d'un dossier distant et lister son contenu ...
Et encore une kestion .. voici mon code :
$rep=opendir($dossiercours);
$compteur=0;
while ($file = readdir($rep)) {
if($file != '..' && $file !='.' && $file !=''){
if (is_dir($file)){
$compteur++;
if ($compteur%3!=0):
{
?>
<td width="33%" height="30" valign="top">
<table border="1" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber3" height="37">
<tr>
<td width="101%" bgcolor="#482B7F" height="13">
<p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">
<?echo("$file");?></font></b></td>
</tr>
<?
include "connectbd.php";
$sql = "select * from ".$prefixe."_dossiers order by nomdossier";
$resultat = mysql_query($sql);
while($ligne = mysql_fetch_array($resultat)){
$id_dossier = $ligne["id_dossier"];
$nomdossier = $ligne["nomdossier"];
$descriptiondossier = $ligne["descriptiondossier"];
$liendossier = $ligne["liendossier"];
$test = eregi("$file",$liendossier);
if ($test == "1"):
{
?>
<tr>
<td height="12"><font face="Verdana" size="1"> -<?echo("<a \"text-decoration: none\" href=%22index.php?Page=administration/$liendossier//"> $nomdossier");?></font></td>
</tr>
<?
}
endif;
}
?>
Sur l'opendir, il me fait aucune erreur, ce qui veut dire qu'il arrive bien à ouvrir le dossier .. ensuite je lui demande de me lister les répertoires et de me les afficher dans un tableau .. mais rien n'apparait .. si je place le code dans le répertoire en cours et que je fais opendir('.'); ca marche .. mais j'aimerais faire un opendir d'un dossier distant et lister son contenu ...
Euh... Je sais pas comment ça se fait que tu n'aies pas d'erreur, parce que dans ton code il n'y a presque aucune fermeture d'accolade ouvrante...
-= Bobinours - http://bobin.underlands.org =-
-= Bobinours - http://bobin.underlands.org =-
Voila qu'il me sort un dossier maintenant .. serait-ce une kestion de droit ? J'ai XP et j'arrive pas à modifier les droits sur les fichiers ... Vous avez une idée ?!?!
Il y aurait un probleme de droit si tu ecrivais quelque chose, mais comme tu ne fais que lire... Ca doit pas etre ca...
A mon avis, la valeur passée à Opendir n'est pas bonne...
Kalamit,
Je ponce donc j'essuie
A mon avis, la valeur passée à Opendir n'est pas bonne...
Kalamit,
Je ponce donc j'essuie
Pages/administration/technique/OS/Windows/
Quand je mets ca il devrait me sortir les dossiers que j'ai dans le répertoire Windows mais non il sort rien du tout ..
tandis que :
Pages/administration/
Il me sort un dossier "images" qui est bien et bel existant mais le dossier administration contient 6 autres dossiers qui ne sortent pas .. Je comprends vraiment rien ...
Quand je mets ca il devrait me sortir les dossiers que j'ai dans le répertoire Windows mais non il sort rien du tout ..
tandis que :
Pages/administration/
Il me sort un dossier "images" qui est bien et bel existant mais le dossier administration contient 6 autres dossiers qui ne sortent pas .. Je comprends vraiment rien ...
Voila le fichier listedir.php avec la déclaration de variable au début .. avant j'utilisais pas de variable et je mettais "." pour le dossier ca marchait .. Maintenant quand je rentre un dossier, ca marche desfois à moitié ...
-----------SIMNET SA WEB SOURCE WWW.SIMNETSA.CH---------
<html>
<head>
</head>
<body>
<?
//SOURCE DU PROBLEME EST ICI
$dossiercours = "../Windows";
$Dir = htmlspecialchars($dossiercours);
$Dir = str_replace("\\", "/", $Dir);
$champs = explode ("/", $Dir);
$boucle=0;
while ($boucle < sizeof($champs)-1) {
$boucle++;
}
$lienrel = $champs[$boucle];
$champs[$boucle] = ucfirst( strtolower($champs[$boucle]) ) ;
?>
<div align="center">
<center>
<table border="0" cellpadding="3" cellspacing="3" style="border-collapse: collapse" bordercolor="#111111" width="84%" id="AutoNumber1">
<tr>
<td width="164">
<p align="left">
<img border="0" src="images/Dossier_Petit.jpg" width="125" height="68"></td>
<td width="76%" valign="bottom"><b>
<font face="Verdana" size="5" color="#000080"><?echo $champs[$boucle];?></font></b></td>
</tr>
<tr>
<td width="100%" colspan="2" style="border-left-width: 1; border-right-width: 1; border-top: 1px solid #000080; border-bottom-width: 1"> </td>
</tr>
</table>
</center>
</div>
<p> </p>
<div align="center">
<center>
<table border="0" cellpadding="3" cellspacing="3" style="border-collapse: collapse" bordercolor="#111111" width="85%" id="AutoNumber1" height="98">
<tr>
<td width="33%" height="30" valign="top">
<table border="1" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111" width="101%" id="AutoNumber2" height="36">
<tr>
<td width="101%" bgcolor="#482B7F" height="13">
<p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">
<?echo $champs[$boucle];?> (Général)</font></b></td>
</tr>
<?
include "connectbd.php";
$sql = "select * from ".$prefixe."_dossiers order by nomdossier";
$resultat = mysql_query($sql);
while($ligne = mysql_fetch_array($resultat)){
$id_dossier = $ligne["id_dossier"];
$nomdossier = $ligne["nomdossier"];
$descriptiondossier = $ligne["descriptiondossier"];
$liendossier = $ligne["liendossier"];
$champs2 = explode ("/", $liendossier);
$boucle2=0;
while ($boucle2 < sizeof($champs2)-1)
{
$boucle2++;
}
$lien = $lienrel."/".$champs2[$boucle2];
$test = eregi("$lien",$liendossier);
if ($test == "1"):
{
?>
<tr>
<td height="12"><font face="Verdana" size="1"> -<?echo("<a style=\"text-decoration: none\" href=%22index.php?Page=administration/$liendossier//"> $nomdossier");?></font></td>
</tr>
<?
}
endif;
}
?>
</table>
</td>
<?
$rep=opendir($dossiercours);
$compteur=0;
while ($file = readdir($rep)) {
if($file != '..' && $file !='.' && $file !=''){
if (is_dir($file)){
$compteur++;
if ($compteur%3!=0):
{
?>
<td width="33%" height="30" valign="top">
<table border="1" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber3" height="37">
<tr>
<td width="101%" bgcolor="#482B7F" height="13">
<p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">
<?echo("$file");?></font></b></td>
</tr>
<?
include "connectbd.php";
$sql = "select * from ".$prefixe."_dossiers order by nomdossier";
$resultat = mysql_query($sql);
while($ligne = mysql_fetch_array($resultat)){
$id_dossier = $ligne["id_dossier"];
$nomdossier = $ligne["nomdossier"];
$descriptiondossier = $ligne["descriptiondossier"];
$liendossier = $ligne["liendossier"];
$test = eregi("$file",$liendossier);
if ($test == "1"):
{
?>
<tr>
<td height="12"><font face="Verdana" size="1"> -<?echo("<a style=\"text-decoration: none\" href=%22index.php?Page=administration/$liendossier//"> $nomdossier");?></font></td>
</tr>
<?
}
endif;
}
?>
</table>
</td>
<?
}
else:
{
?>
</tr>
<tr>
<td width="33%" height="30" valign="top">
<table border="1" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111" width="101%" id="AutoNumber5" height="36">
<tr>
<td width="101%" bgcolor="#482B7F" height="13">
<p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">
<?echo("$file");?></font></b></td>
</tr>
<?
include "connectbd.php";
$sql = "select * from ".$prefixe."_dossiers order by nomdossier";
$resultat = mysql_query($sql);
while($ligne = mysql_fetch_array($resultat)){
$id_dossier = $ligne["id_dossier"];
$nomdossier = $ligne["nomdossier"];
$descriptiondossier = $ligne["descriptiondossier"];
$liendossier = $ligne["liendossier"];
$test = eregi("$file",$liendossier);
if ($test == "1"):
{
?>
<tr>
<td height="12"><font face="Verdana" size="1"> -<?echo("<a style=\"text-decoration: none\" href=%22index.php?Page=administration/$liendossier//"> $nomdossier");?></font></td>
</tr>
<?
}
endif;
}
?>
</table>
</td>
<?
}
endif;
}
}
}
closedir($rep);
clearstatcache();
?>
<td width="33%" height="30" valign="top"> </td>
</tr>
</table>
</center>
</div>
</body>
</html>
-----SIMNET SA AUTORISE LA MODIFICATION ET REPRISE------
-----------SIMNET SA WEB SOURCE WWW.SIMNETSA.CH---------
<html>
<head>
</head>
<body>
<?
//SOURCE DU PROBLEME EST ICI
$dossiercours = "../Windows";
$Dir = htmlspecialchars($dossiercours);
$Dir = str_replace("\\", "/", $Dir);
$champs = explode ("/", $Dir);
$boucle=0;
while ($boucle < sizeof($champs)-1) {
$boucle++;
}
$lienrel = $champs[$boucle];
$champs[$boucle] = ucfirst( strtolower($champs[$boucle]) ) ;
?>
<div align="center">
<center>
<table border="0" cellpadding="3" cellspacing="3" style="border-collapse: collapse" bordercolor="#111111" width="84%" id="AutoNumber1">
<tr>
<td width="164">
<p align="left">
<img border="0" src="images/Dossier_Petit.jpg" width="125" height="68"></td>
<td width="76%" valign="bottom"><b>
<font face="Verdana" size="5" color="#000080"><?echo $champs[$boucle];?></font></b></td>
</tr>
<tr>
<td width="100%" colspan="2" style="border-left-width: 1; border-right-width: 1; border-top: 1px solid #000080; border-bottom-width: 1"> </td>
</tr>
</table>
</center>
</div>
<p> </p>
<div align="center">
<center>
<table border="0" cellpadding="3" cellspacing="3" style="border-collapse: collapse" bordercolor="#111111" width="85%" id="AutoNumber1" height="98">
<tr>
<td width="33%" height="30" valign="top">
<table border="1" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111" width="101%" id="AutoNumber2" height="36">
<tr>
<td width="101%" bgcolor="#482B7F" height="13">
<p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">
<?echo $champs[$boucle];?> (Général)</font></b></td>
</tr>
<?
include "connectbd.php";
$sql = "select * from ".$prefixe."_dossiers order by nomdossier";
$resultat = mysql_query($sql);
while($ligne = mysql_fetch_array($resultat)){
$id_dossier = $ligne["id_dossier"];
$nomdossier = $ligne["nomdossier"];
$descriptiondossier = $ligne["descriptiondossier"];
$liendossier = $ligne["liendossier"];
$champs2 = explode ("/", $liendossier);
$boucle2=0;
while ($boucle2 < sizeof($champs2)-1)
{
$boucle2++;
}
$lien = $lienrel."/".$champs2[$boucle2];
$test = eregi("$lien",$liendossier);
if ($test == "1"):
{
?>
<tr>
<td height="12"><font face="Verdana" size="1"> -<?echo("<a style=\"text-decoration: none\" href=%22index.php?Page=administration/$liendossier//"> $nomdossier");?></font></td>
</tr>
<?
}
endif;
}
?>
</table>
</td>
<?
$rep=opendir($dossiercours);
$compteur=0;
while ($file = readdir($rep)) {
if($file != '..' && $file !='.' && $file !=''){
if (is_dir($file)){
$compteur++;
if ($compteur%3!=0):
{
?>
<td width="33%" height="30" valign="top">
<table border="1" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber3" height="37">
<tr>
<td width="101%" bgcolor="#482B7F" height="13">
<p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">
<?echo("$file");?></font></b></td>
</tr>
<?
include "connectbd.php";
$sql = "select * from ".$prefixe."_dossiers order by nomdossier";
$resultat = mysql_query($sql);
while($ligne = mysql_fetch_array($resultat)){
$id_dossier = $ligne["id_dossier"];
$nomdossier = $ligne["nomdossier"];
$descriptiondossier = $ligne["descriptiondossier"];
$liendossier = $ligne["liendossier"];
$test = eregi("$file",$liendossier);
if ($test == "1"):
{
?>
<tr>
<td height="12"><font face="Verdana" size="1"> -<?echo("<a style=\"text-decoration: none\" href=%22index.php?Page=administration/$liendossier//"> $nomdossier");?></font></td>
</tr>
<?
}
endif;
}
?>
</table>
</td>
<?
}
else:
{
?>
</tr>
<tr>
<td width="33%" height="30" valign="top">
<table border="1" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111" width="101%" id="AutoNumber5" height="36">
<tr>
<td width="101%" bgcolor="#482B7F" height="13">
<p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">
<?echo("$file");?></font></b></td>
</tr>
<?
include "connectbd.php";
$sql = "select * from ".$prefixe."_dossiers order by nomdossier";
$resultat = mysql_query($sql);
while($ligne = mysql_fetch_array($resultat)){
$id_dossier = $ligne["id_dossier"];
$nomdossier = $ligne["nomdossier"];
$descriptiondossier = $ligne["descriptiondossier"];
$liendossier = $ligne["liendossier"];
$test = eregi("$file",$liendossier);
if ($test == "1"):
{
?>
<tr>
<td height="12"><font face="Verdana" size="1"> -<?echo("<a style=\"text-decoration: none\" href=%22index.php?Page=administration/$liendossier//"> $nomdossier");?></font></td>
</tr>
<?
}
endif;
}
?>
</table>
</td>
<?
}
endif;
}
}
}
closedir($rep);
clearstatcache();
?>
<td width="33%" height="30" valign="top"> </td>
</tr>
</table>
</center>
</div>
</body>
</html>
-----SIMNET SA AUTORISE LA MODIFICATION ET REPRISE------