2010-03-26 5 views
0

Je veux faire un petit script, mais je suis plutôt n00b en php alors s'il vous plaît aidez-moi si vous pouvez :)PHP - lecture du nombre dirs puis besoin pour chacun un nom de fichier spécifié

Ce que je veux la le script à faire est:

  1. J'ai "index.php".
  2. Je souhaite que "index.php" lise les sous-répertoires d'un dossier connu, disons "templates /"
  3. Chaque sous-répertoire contiendra un fichier appelé "content.html".
  4. L'index chargera ensuite le fichier "content.html" avec la fonction require() pour chacun des sous-répertoires existants.

Merci beaucoup pour votre aide!

Répondre

4

Les RecursiveDirectoryIterator passe par le répertoire désigné et tous les sous-répertoires et renvoie tous les éléments du système de fichiers comme SplFileInfo objets:

$iterator = new RecursiveIteratorIterator(
       new RecursiveDirectoryIterator($yourFilePath)); 

foreach($iterator as $file) { 
    if($file->getFilename() === 'content.html') { 
     $file->openFile()->fpassthru(); 
     // or 
     include $file->getRealpath(); 
    } 
} 

Utilisez include lorsque vous souhaitez exécuter le fichier .html par l'analyseur PHP, par exemple quand il contient du code PHP qui doit être évalué. Sinon, utilisez fpassthru, car cela devrait être une fraction plus rapide. Peut également utiliser readfile($file->getRealpath()).

0

Que voulez-vous réaliser?

Voulez-vous le contenu des différents fichiers dans votre index.php ou souhaitez générer un lien vers ces fichiers? Parce que si vous souhaitez agréger le contenu, cette approche n'est pas suffisante car vous obtenez un fichier html avec une syntaxe non valide, car vous concaténez simplement le contenu des fichiers html.

Vous aurez besoin d'une analyse supplémentaire du contenu pour éviter cela.

Cheers,

Dawit

+0

Chaque sous-répertoire sera un produit, donc je veux l'index pour vérifier chaque fois qu'il se charge s'il y a quelque chose de nouveau dans ce dossier. Le fichier "content.html" ou "content.php" de chaque sous-répertoire contiendra du code html pour le texte/images (la description de ce produit). Tous les produits seront affichés dans une colonne sur la première page (index.php) Je sais qu'il y a de meilleurs moyens et des scripts de magasin, mais c'est mon chemin :) –

+0

Je me demandais juste si content.html est un véritable fichier html mais s'il contient seulement des fragments de html ou php que concaténer produira le résultat que vous voulez. –

+0

seul fragment (une table ou une div) –