Luckyluk Posté 12 Avril 2005 Posté 12 Avril 2005 Bonjour, les pages d'un de mes sites s'appellent de la manière suivante "http://www.site.com/index2.php?num=$1" je voudrais simplement tester si par exemple le fichier "1.php" existe si $num.php existe alors include ("$num.php"); else echo"hghghg"; etant faineant, je n'ai pas pris le temps d'ouvrir mon bouquin merci d'avance luc
Dash Posté 12 Avril 2005 Posté 12 Avril 2005 pour simplement verifier si un fichier existe, il y a la fonction file_exists() tout simplement
Dan Posté 12 Avril 2005 Posté 12 Avril 2005 Salut Luc, C'est simple, mais il faut bétonner un peu ton code, parce que faire une inclusion sans vérifier l'argument est toujours dangereux. <?php $filename = '/path/to/'.$_GET[num].".php"; if (file_exists($filename)) { include($filename); } else { print "Le fichier $filename n'existe pas"; } ?>
Dash Posté 12 Avril 2005 Posté 12 Avril 2005 En terme de securite je ferais surtout $filename = '/path/to/' . intval($_GET[num]) . '.php'; Pour eviter que "num" ne contiennent autre chose que ce qui est acceptable (=une valeur entiere)
Luckyluk Posté 12 Avril 2005 Auteur Posté 12 Avril 2005 merci les gars! comme d'habitude...la solution est ici
Luckyluk Posté 12 Avril 2005 Auteur Posté 12 Avril 2005 encore une petite explication svp.. si je mets $filename = '/path/to/' . intval($_GET[num]) . '.php'; ou $filename = '/path/to/'.$_GET[num].".php"; ça ne marche pas, par contre si je mets çà: intval($_GET[num]) . '.php'; ça marche tres bien.... il doit y avoir une petite raison...
Anonymus Posté 12 Avril 2005 Posté 12 Avril 2005 Une autre solution pour avoir un nombre entier, c'est de le multiplier par 1. Exemple : $num = $_GET['num']*1; Prends aussi l'habitude de mettre des guillemets autour des index, comme pour 'num'. Ca évite de le confondre avec les constantes. Nico.
Dan Posté 12 Avril 2005 Posté 12 Avril 2005 encore une petite explication svp.. si je mets $filename = '/path/to/' . intval($_GET[num]) . '.php'; ou $filename = '/path/to/'.$_GET[num].".php"; ça ne marche pas, Il faut bien sûr remplacer /path/to par le chemin serveur vers ton fichier... Désolé mais j'aurais dû être plus explicite Donc dans le genre /home/tonsite/www/ .... cela dépend de ton hébergement. Dan
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant