Moin,
Den Einwand von Robert, dass fileinfo und readfile zu Overhead führen, würde ich im Übrigen nicht gelten lassen, weil fileinfo() wohl kaum die Größe durch Einlesen der Datei bestimmt, sondern ins Directory schaut. Also intern auch nichts anderes tut als fopen+fstat+fclose. Da readfile() einen Namen braucht, kann ich die resource-Rückgabe von fopen auch nicht für den readfile wiederverwenden, sondern müsste das Kopieren selbst programmieren. Kann man machen, lohnt aber hier sicher nicht die Mühe.
filesize und readfile rufen beide fstat auf und das kann unter Umständen „teuer“ sein, also ein Flaschenhals, auch wenn beide im Inode nachschauen.
Und das Kopieren einer ganzen Datei nach dem Öffnen muss ich nicht selbst programmieren, wenn es dafür die Funktion fpassthru gibt.
Viele Grüße
Robert