Automatischesauslesen...
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
array
auslese
code
dank
datei
dateiname
falsch code
file
maximum
ordner
pfad
reduzieren
sagen
schleife
strang
typ
verzeichnis
wichtigen daten
zerbrechen
-
Moin,
ich möchte für ein Templatesystem an dem ich grade arbeite eine Funktion haben, die aus einem bestimten Ordner, aus allen Unterordner (die im Verzeichniss sind), aus einer bestimten Datei, ein paar Werte auslesen und in ein 2 Dimensionales Array schmeißen.
Hier mal nen Beispiel der Ordner Strucktur:
../style /default style.php /blabla style.php usw...
In dem Ordner Style, werden die Templates hinterlegt und die style.php ist so zu sagen eine Info Datei, die alle wichtigen Daten vom Template hat. Name, Pfad, etc..
Das Array würde ich mir so wünschen:
$styles -> Name -> Pfad
Wie ich die Ordner auslese ist mir ja bekannt, nur schaffe ich es nicht, die Abfrage auf das nötigste zu Reduzieren, ohne das dann ".." und "." mit im Array laden und ich dann einen Fehler bekomme.
Ich hoffe Ihr könnt mir da ein wenig weiter helfen und an dieser Stelle schon mal Danke an alle, die sich den Kopf zerbrechen ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Dein Script sieht sicherlich in etwa so aus:
while ($file = readdir(opendir("./styles/")) { // $file dem Array hinzufügen }
Daraus machst du einfach:
while ($file = readdir(opendir("./styles/")) { if ($file != "." && $file != "..") { // $file dem Array hinzufügen } }
und schon sind . und .. weg.
Beitrag zuletzt geändert: 9.3.2009 8:50:37 von trueweb -
Och mist...
Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\swb\swb.conf.php on line 11
Irgendwas mach ich falsch:
<?php // swb.conf.php // SystemPath -> define(_absPath, dirname(__FILE__).'/'); // abspath define(_absStyle, _absPath.'style/'); // abspath to style folder define(_absCache, _absPath.'cache/'); // abspath to cache folder define(_absReg, _absPath.'swb.reg.php'); // abspath to swb.reg.php // ReadTemplates -> while($file = readdir(opendir(_absStyle))) { if($file != "." && $file != "..") { $style[] = _absStyle.$file; } } echo $blub ?>
Nur was? Bin irgend wie Heute total vernagelt...
Beitrag zuletzt geändert: 9.3.2009 9:49:54 von strange -
strange schrieb:
Irgendwas mach ich falsch:
Das ist ganz einfach... du hast das opendir mit in die while Schleife genommen... das heißt: bei jedem while wird ein neues filehandle geöffnet, allerdings nie geschlossen... bei jedem next() sozusagen wird es neu geöffnet.
Wenn du das opendir so raus nimmst geht es:
<?php // swb.conf.php // SystemPath -> define(_absPath, dirname(__FILE__).'/'); // abspath define(_absStyle, _absPath.'style/'); // abspath to style folder define(_absCache, _absPath.'cache/'); // abspath to cache folder define(_absReg, _absPath.'swb.reg.php'); // abspath to swb.reg.php if ($handle = opendir(_absStyle)) { // ReadTemplates -> while(false !== ($file = readdir($handle))) { if(($file <> ".") && ($file <> "..")) { $style[] = _absStyle.$file; } } echo $blub; closedir($handle); } else { echo "Konnte Verzeichnis nicht öffnen: "._absStyle; } ?>
Achja und die Prüfung gegen den TYP false (deshalb !== ) wäre auch sinnvoll, sonst wird der Dateiname als False angenommen
Grüßle -
Ah wusste ichs doch, bin wieder ein wenig vernagelt. Danke
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage