Felix Riesterer: Abfrage ob Dir vorhanden

Beitrag lesen

Lieber Gerrit,

if (@is_dir ($_SERVER['Aktuelles']))   {
   require_once ($_SERVER['Aktuelles'] . '/meta_ind.php');
    ......
}

mir scheint, dass Du über die superglobale Variable $_SERVER einen Wert für die unterschiedlichsten Teilprogramme bereitstellen willst, die dann mittels require_once() nachgeladen werden.

besser: Konstanten verwenden

Wahrscheinlich waren die meisten von uns auch schon einmal an dieser Stelle, auf unserem langen Weg das Schreiben von Webanwendungen zu erlernen. Kurz: Tu das bitte nicht!

Wenn Du global gültige Variablen verwenden möchtest, dann greife auf sogenannte Konstanten zurück. Nach alter Programmierer-Tradition schreibt man Konstanten rein in Großbuchstaben, damit man auf den ersten Blick sieht, dass es sich um eine solche handelt:

define('QUELLEN', '/var/www/mein/unterverzeichnis/quellen');

if (is_dir(QUELLEN.'/Aktuelles')) {
  require_once (QUELLEN.'/Aktuelles/ind.php');
}

Der weitere Vorteil von Konstanten ist, dass sie nach ihrer Definition nicht mehr geändert werden können. In $_SERVER['irgendwas'] kann jeder Programmteil von irgendwoher irgendwelche Werte schreiben. Besonders dann, wenn Du fremde Programmteile mitverwendest (Bibliotheken für diverse Aufgaben wie z.B. Formulareingaben per Mail an Dich versenden), möchtest Du, dass die Werte, von denen Du Dein Programm abhängig machst, auch wirklich vertrauenswürdig sind.

Wenn Du uns zeigen magst, was Du wirklich erreichen willst, können wir Dir sicher noch besseren Rat geben.

Liebe Grüße

Felix Riesterer