Page 1 sur 1

Problême avec un script d'include

Posté : 29 avr. 2007, 19:14
par phcorp
Bonjour à tous

j'ai crée un script qui scanne les répertoires choisis : il fait une liste des fichiers dans une variable qui s'y trouvent et les inclut selon s'il se trouvent dans cette variable. Par exemple, il va vérifier si la page index.php qu'on lui a envoyé par la méthode get ( include.php?page=index.php ) a le droit d'être incluse.
Cependant je ne comprends pas on dirait que la variable $includes reste vide :s
aidez moi s'il vous plait !

Code : Tout sélectionner

<?php $reps=array("./","./nav/","./admin/","./res/"); $includes = array(); foreach($reps as $rep){ $dir = opendir($rep); while ($f = readdir($dir)) { if(is_file(substr(2,$rep).$f)) { $includes[] = substr(2,$rep).$f; } } closedir($dir); } $page=$_GET['page']; if(in_array((array)$page, (array)$includes)){ include($page); } ?>

Posté : 29 avr. 2007, 20:38
par regne
deja fait echo $include; pour voir si ta variable est bien recuperé

Posté : 29 avr. 2007, 20:42
par regne
et je sais pas mais ton systeme me semble bien compliqué...

tu peut pas faire plus simple du genre :
  <?php
						if (!is_file("includes/$inc.php")) {
    die("<div align='center'>L'url saisie est erron&eacute;e.<br><a href='http://www.site.fr'>Revenir &agrave; l'accueil du site</a></div>");
} else {
include "includes/$inc.php";
}
  ?>
et en plus essaye de ne pas envoyer le .php mais plutot de le marqué dans ton script

Posté : 29 avr. 2007, 21:07
par phcorp
bahh justement, $include est vide !

en suite je ne veux inclure que les fichiers des répertoires sélectionnés dans $reps :)

Posté : 29 avr. 2007, 22:45
par Sékiltoyai
Je rejoins regne, utilises plutôt un is_file plutôt que de lister le dossier, ca sera moins galère, moins chiant à coder, et surtout plus performant.

Posté : 29 avr. 2007, 22:55
par regne
et c'est quoi $reps ?

c'est ton chemin d'acces au fichier a inclure?

Posté : 30 avr. 2007, 17:57
par phcorp
c'est la liste de tous les dossiers que l'on a le droit d'inclure

Posté : 02 mai 2007, 10:37
par regne
ben voila tu dois pouvoir adapter le script que je t'ai donné avec ta liste de rep...
if ((!is_file("rep1/$inc.php")) || (!is_file("rep2/$inc.php")) || (!is_file("rep3/$inc.php")) )
voila un truc dans le genre...