Hi!
echo "<pre>\n";
echo htmlspecialchars(print_r(get_subdirs($start_folder),1));
echo "</pre>\n";
Sind die htmlspecialchars zum Darstellen der Verzeichnisstruktur u. -namen unbedingt nötig?
Theoretisch ist das htmlspecialchars() (auch für alle unvorhergesehenen Fälle) so richtig. Ob es jetzt in diesem speziellen Fall zwingend notwendig ist, sei mal dahingestellt. Das wirst du sicher allein rausbekommen, wenn du weißt, warum bestimmte Zeichen maskiert werden müssen und ob diese Zeichen in deiner Ausgabe vorkommen können.
Ich persönlich verzichte in meiner kontrollierten Testumgebung in der Regel auf diesen zusätzlichen Aufwand. Allerdings gibt es einige Situationen, da ist dies ungünstig, besonders wenn man XML und HTML in den zu kontrollierenden Werten stehen hat.
Auch Situationen wie diese
$foo = 42;
$bar = array(&$foo);
var_dump($bar);
sind beachtenswert, weil man in der Ausgabe kein &int stehen hat sondern:
array(1) {
[0]=>
∫(42)
}
Ist die Schreibweise echo '<pre>' . "\n"; der oben angewandten vorzuziehen?
Warum sollte sie? Warum noch mehr Aufwand für eine Sache treiben, die nur ganz kurz benötigt wird? Der Zeilenumbruch ist im Prinzip komplett nutzlos, wenn du nicht gerade in die Quelltextansicht des Browsers schauen und dort einen Zeilenumbruch sehen willst. Üblicherweise verzichte ich auch auf ein schließendes </pre>, weil es sich nur um eine temporäre Ausgabe handelt. Dabei interessieren mich die ausgegebenen Werte und der möglicherweise nicht richtig formatierte Rest der Seite ist mir egal.
Lo!