Tach!
wie kann man das hinbekommen, das eine externe PHP-Datei erst nachdem die If-Anweisung ausgeführt wurde eingebunden wird?
Einfach so hinschreiben.
Mit include und require wird die ja dirket eingebunden, jedoch bekomme ich dann den Fehler, dass der Ordner nicht existiert, weil der vorher noch nicht erstellt wurde
if (false) {
require 'nichtexistent.php';
}
erzeugt bei mir keinerlei Fehlermeldung. Die Gegenprobe mit true hingegen ergibt wie erwartet eine.
und das die Variablen leer sind, weil die noch nicht mit Post übergeben wurden.
Du hast wohl ein Ablaufproblem? Vielleicht solltest du lieber testen, ob es überhaupt ein POST-Request ist oder nicht, wenn du auf dessen Werte angewiesen bist. Alternativ geht auch ein Test auf die übergebenene Werten, denn selbst wenn der Post-Request kommt, heißt das nicht, dass die Werte gesetzt sein müssen.
$year = date('Y'); if(file_exists('../news/' . $year)){ $month = date('m'); if(file_exists('../news/' . $year . '/' . $month)){ include 'artikel.php'; } else{ $month = date('m'); mkdir('../news/' . $year . '/' . $month, 0777, true); include 'artikel.php'; } } else{ $year = date('Y'); $month = date('m'); mkdir('../news/' . $year . '/' . $month, 0777, true); include 'artikel.php'; }
Du hast unnötig viele Zuweisungen desselben Wertes an $year und bis auf das letzte else ist das auch für $month so. Das Script wird wohl kaum über Monats- oder Jahreswechsel laufen, dass sich die Rückgabe von date() ändert.
dedlfix.