Halihallo Jonas
Im Grunde öffne ich das Dir, lese den Content in zwei arrays aus (einen array für die files, einen für die subdirs), danach lese ich die subdirs (meist zwei) auf files aus und füge diese einträge dem Array für die einzelnen Files von vorher hinzu. Zum schluss wird das array der files mit foreach abgearbeitet und alles in html ausgegeben.
Naja, wenn du nicht tausende Unterverzeichnisse und Dateien hast,
geht das rucki zucki. Unglücklich finde ich den Ansatz alles in ein
oder zwei Arrays zu packen. Das kostet Unmengen RAM.
Ich denke, es sollte also keine zu grossen Schleifen oder ähnliches im Script geben...
Eine Endlosschleife kann auch sehr klein sein: while(1){}, je nach
System kann dies zu 100% CPU-Auslastung kommen. Ein while (1) {fork;}
dürfte das System noch wesentlich mehr in die Knie zwingen... Du siehst:
die Grösse der Schleife ist nicht relevant :-)
Nun gut, ich weiss was du meinst. Wenn es nicht viele
Unterverzeichnisse und Dateien sind, ist es kein Problem. Es sei denn
du verfolgst als "Unterverzeichnis" auch ".." oder "." (was bei
readdir ausgegeben wird!) dann, ja dann hast du eine Endlosschleife!
Aber dann dürfte es bei dir zu Hause auch nicht funktionieren...
Ich denke, dass die Seite einfach oft aufgerufen wird und der
Hoster dein Script als meist-ressourcen-verbrauchend (kummulativ)
eingestuft und entsprechend reagiert hat... Wenn die Abarbeitungsgeschwindigkeit des Scriptes (online und offline)
gut ist, sag deinem Hoster, dass das Script keine Fehler und
keine grosse Performance braucht und auf einigen getesteten Platformen
keine grosse CPU Auslastung nach sich ziehe. Mal sehen, was er dann
sagt... Der soll ruhig auch nochmal bei sich selber nachsehen, bevor
er Kunden (meiner Meinung nach) belästigt. Das gilt natürlich nur
dann, wenn es auch wirklich nicht dein Fehler ist...
Viele Grüsse
Philipp