Je construis une application PHP utilisant un menu Select pour créer des modèles de messagerie. Les modèles sont brisés en parties réutilisables (chacun est un fichier HTML séparé). Existe-t-il un moyen facile de demander plusieurs fichiers avec une expression? (Mon PHP est vraiment rouillé ...)
essentiellement, je veux faire quelque chose comme: p>
3 Réponses :
Eh bien, vous pouvez le transformer en une fonction:
require_multi("one.php", "two.php", ..);
crédit à Tom Haigh de Comment nécessiter tous les fichiers d'un dossier? : stocker tous vos fichiers requis dans < code> $ dir code> et le code ci-dessus fera le reste. p> p>
Cela pourrait être très utile pour le débogage. Je suis dans une situation maintenant où je dois charger tous les fichiers CSS dans ./ CSS code>, donc il woks. (Pour le débogage, pas la production)
Cela ne fonctionnerait que tel qu'il se trouve si les fichiers sont dans le bon ordre et qu'il n'y a aucune dépendance sur un fichier ultérieur pour aucun d'entre eux. Si vous numérotez les fichiers, cela fonctionnerait bien.
Edit:
Parce que vous souhaitez exiger ou inclure plusieurs fichiers, vous pouvez utiliser cette récursive algorithme pour inclure des fichiers dans un dossier spécifié. Le dossier est la racine qui commence l'itérateur. Parce que l'algorithme est récursif, il traversera automatiquement tout Les dossiers suivants et incluent également ces fichiers. P>
public function include_all_files($root) { $d = new RecursiveDirectoryIterator($root); foreach (new RecursiveIteratorIterator($d) as $file => $f) { $ext = pathinfo($f, PATHINFO_EXTENSION); if ($ext == 'php' || $ext == 'inc') include_once ($file); // or require(), require_once(), include_once() } } include_all_files('./lib');
Cette solution n'est que bien s'il veut charger des cours. Ainsi, ces utilitaires fonctionnent qu'il ne peut pas être dans des classes. Donc, ce n'est pas une bonne réponse, je suppose que c'est un problème. Néanmoins, c'est une intéressante pour charger des cours automatiquement.
$ D = Nouveau recursiveDirectoratorator ($ Fullpath, fichiersSystemiterator :: skip_dots); code> Utilisez ceci pour sauter des points