# Ganze Ordner mit dem Includebefehl einbinden?



## progfxler (11. März 2003)

Hi kann ich mit dem Includebefehl auch ganze Ordner einbinden? oder was muss ich da machen damit das geht


----------



## Matthias Reitinger (11. März 2003)

Hm... sicher geht das über Umwege, aber wozu?


----------



## progfxler (12. März 2003)

sonst muss ich jede einzelne datei in die index.php datei einbinden und das ist zu stressig


----------



## Nils Hitze (12. März 2003)

*sonst*

lies den Ordner mit PHP aus (opendir)
und lass das durch eine Schleife laufen 
in der du jeden Eintrag includest.

Jona


----------



## progfxler (12. März 2003)

mmhh wie ist der code dafür?


----------



## Matthias Reitinger (12. März 2003)

http://de.php.net/opendir
http://de.php.net/readdir


----------



## Nils Hitze (12. März 2003)

*danke*

ich hätte es nicht besser ausdrücken können.

jona


----------



## progfxler (12. März 2003)

aber wenn ich das nun so einfüge 

<?php
$handle=opendir ('pages');
echo "Verzeichnis-Handle: $handle\n";
echo "Dateien:\n";
while (false !== ($file = readdir ($handle))) {
    echo "$file\n";
}
closedir($handle); 
?>


jetzt einfach noch den include befehl reinhauen oder?


----------



## Fabian H (12. März 2003)

LOL, ja, wieso fragst du?


----------



## progfxler (12. März 2003)

mmhh irgendwie ging das nicht wie muss der code dafür aussehen?


----------



## Neurodeamon (12. März 2003)

```
<?php
/***********************************************************************
* Diese Funktion wird JEDE Datei includen, die sich im Ordner befindet *
* der in $basedir angegeben wird ("." wo das script ist / "name" ist   *
* im Ordner mit diesen Namen)                                          *
***********************************************************************/
$basedir = ".";
function includeall($basedir){
	if ($handle = @opendir($basedir)) {
		while (false !== ($file = readdir($handle)))
		{
			if ($file == '.' || $file == '..'){} else {
				if (is_file($file)){include $file;
				}
			}
		}
		closedir($handle);
	}
}
?>

<?php
includeall($basedir);
?>
```

Ich übernehme keine Gewähr dafür, das es wie gewünscht funktioniert - ist noch ungetestet, sollte aber laufen.


----------



## Fabian H (12. März 2003)

> _Original geschrieben von Neurodeamon _
> *if ($file == '.' || $file == '..'){} else {*



Tz tz


----------



## Neurodeamon (12. März 2003)

Nuinmundo hat gesagt.:
			
		

> Tz tz



[SARCASM ON]Aussagekräftiges Kommentar ... [SARCASM OFF]
... bitte um vernünftigen Hintergrund oder verbessertes Beispiel. Vielleicht schreibst Du sogar ein eigenes, besseres Beispiel?

Weil in diesem Script einfach ein include reinzuhauen wird einige Probleme verursachen. Ein "LOL, ja, wieso fragst du?" wird Dein möglicherweise riesiges Wissen und Deine Erfahrung zum Ausdruck bringen. Der Problemlösung wird man aber nicht näher rücken ...

Problem:

Das Script wird ALLES includen wollen. Egal ob Datei oder Ordner.
"." und ".." werden übrigens durch das Handle mit ausgegeben, also sollten Sie ausgefiltert werden.


```
// so nicht verwenden!!!
<?php 
$handle=opendir ('pages'); 
echo "Verzeichnis-Handle: $handle\n"; 
echo "Dateien:\n"; 
while (false !== ($file = readdir ($handle))) { 
echo "$file\n"; 
} 
closedir($handle); 
?>
```

Kritik ist grossartig,
wenn sie nach Überheblichkeit klingt ist das traurig,
immer sollte sie aber fundierte Beispiele und Erklärung beinhalten,
sonst wird sie zu einer unhaltbaren These.

Sorry falls ich auf 180 gehe, aber nichtssagende Kurzsätze ohne Subjekt, Prädikat, Objekt bringen höchstens Deine Postingzahl in Rekordhöhen, helfen aber überhaupt nicht weiter.

Eine schöne Klasse von Jonathan kann man übrigens auch verwenden um die Dateien zu sammeln und dann  zu includen.

http://www.tutorials.de/tutorials74200.html


----------



## Nils Hitze (13. März 2003)

*jetzt hast es geschafft*

jetzt will ich dich endgültig adoptieren.

Danke für das Loben meiner Klasse, ein 
großes Lob für deine Erklärung und 
"Mundverbot" für alle Spötter. 

Jona


----------



## Chino (13. März 2003)

vielleicht meinte Nuinmundo mit seinem kommentar auch nur sowas:


```
if ($file != '.' || $file != '..') {
     if (is_file($file)) {
          include($file);
     }
}
```

;o)


----------



## Fabian H (13. März 2003)

Jo das meinte ich!
Und das _Tz tz_ war ja auch nicht negativ gemeint!

Und zu dem _LOL, wieso fragst du?_:
Woher soll ich wissen, dass er Code will? Er hat ja nichmal gesagt, dass es probleme gibt, oder er nicht weiss wie ers machen soll!!

<edit>Ich bin nicht posting geil! Mir is es wurscht, ob ich 500 odda 400 Posts hab!</edit>


----------



## Neurodeamon (13. März 2003)

Mir ist schon klar, das ich das ebenso mit != oder in der if-kurzform hätte machen können.  Wenn du so kurze Antworten gibst, solltest Du damit rechnen, das man Dich falsch versteht.

Jedenfalls kam das bei mir so rüber als ob Du mich verarschen wolltest...  

Laß die Leute nicht raten was Du meinst...  

Aus seinem Post konnte man doch klar sehen, das da nicht alles verstanden wurde. Das Beispiel war auch nicht lauffähig.

Sorry wegen den Posts, war nicht so gemeint. Aber *grrr* wenn Du nur so wage Dinge schreibst, kann man ja mal in einer schlechten Laune alles hineininterpretieren.

---

Cool, Jona is mei Papa nu   

Aber: Mir geht's net um Lob, sondern um's helfen.


----------



## BoRo85 (20. Februar 2019)

Neurodeamon hat gesagt.:


> ```
> <?php
> /***********************************************************************
> * Diese Funktion wird JEDE Datei includen, die sich im Ordner befindet *
> ...



Hallo,

ich hätte da eine Frage zum auflisten der Inhalte aus allen Dateien die in einem Ordner liegen:


```
$basedir = ".";
```
Durch "." gebe ich den aktuellen Ordner an, das habe ich verstanden. Was muss ich schreiben wenn ich einen Ordner eine Ebene tiefer ansprechen will ("Mein_aktueller_Ordner/Zielordner")?

```
$basedir = "./zielordner";
oder
$basedir = "/zielordner";
```
funktioniert nicht.

Ich bin ganz neu im php Bereich und ein echter n00b 

Liebe Grüße
Anna


----------



## BoRo85 (20. Februar 2019)

Hallo,

habe es mit


```
foreach (glob("zielordner/*.php") as $filename)
{
    include $filename;
}
```

geschafft ;-)

LG Anna


----------



## preko (18. März 2019)

Hallo,

kannst es auch gemäß meines heutigen Posts umsetzen: Dateien im Ordner includieren.

Verwende ich zwar für einzubindende Klassendateien, funktioniert aber auch für "normale" Dateien. 

Beste Grüße!


----------

