echo $begrüßung;
Mit dem ersten Teil der Bedingung prüfst du kein Format sondern nur einen Teil des Dateinamens. Wenn du Bilddateien erwartest, solltest du getimagesize() darauf anwenden und prüfen, ob ein Array mit Daten oder false (nebst Warnung) zurückgeliefert wird.
Wieso ziehst du getimagesize() dieser Methode mit preg_match vor?
Namen sind Schall und Rauch. Der Dateiname muss nicht unbedingt mit dessen Inhalt übereinstimmen. Prüfe den Inhalt und verlass dich nicht darauf, was andere auf das Paket geschrieben haben,
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size ?>">
Wie erklärst du dir besagtes Verhalten?
Ich brauch grad keine Erklärung dazu :-), aber das Kapitel Handling file uploads beschäftigt sich ausführlich damit.
echo "$verabschiedung $name";