2010-04-03 4 views
2

J'ai ce code qui inclura le fichier "template.php" depuis chacun de ces dossiers: "content/templates/id1", "content/templates/id2", "contenu/templates/id3" , etc., etc.PHP Inverser l'ajout de contenu (tri)

$page_file = basename(__FILE__, ".php"); 
require("content/" . $page_file . "/content.php"); 
$iterator = new RecursiveIteratorIterator(
       new RecursiveDirectoryIterator($page_path), 
      RecursiveIteratorIterator::SELF_FIRST); 

foreach($iterator as $file) { 
    if($file->isDir()) { 
     include strtoupper($file . '/template.php'); 
    } 
} 

Ce code fonctionne très bien, le problème est que je veux inverser le contenu en ajoutant, ce qui signifie que je veux d'abord "content/templates/ID9/template.php" inclus avant " id8/template.php "et ainsi de suite jusqu'au premier ..

Comment puis-je faire cela en modifiant le code ci-dessus?

Répondre

2

Au lieu d'inclure les fichiers immédiatement, les ajouter à un tableau et appelez array_reverse

$page_file = basename(__FILE__, ".php"); 
require("content/" . $page_file . "/content.php"); 

$includes = array(); 

$iterator = new RecursiveIteratorIterator(
       new RecursiveDirectoryIterator($page_path), 
      RecursiveIteratorIterator::SELF_FIRST); 

foreach($iterator as $file) { 
    if($file->isDir()) { 
     $includes[] = strtoupper($file . '/template.php'); 
    } 
} 

$includes = array_reverse($includes); 

foreach($includes as $file){ 
    include $file; 
} 
+0

Vous monsieur êtes un génie! : D Merci beaucoup! –