Hallo Raketenwilli,
Ich habe da Bauchschmerzen, denn da kommt der Feind laut Plan bis zur letzten Verteidigungslinie,
Ja, da war ich unaufmerksam; ich bin implizit davon ausgegangen, dass der /files Ordner nicht in Reichweiter des Oberindianers ist, d.h. außerhalb des Web-Root Folders ist. Der Name $pfadphp hätte mich warnen müssen, dass das hier nicht so sein dürfte.
Einen Hash als Dateiname kann man verwenden, aber es gibt dann noch die klitzekleine Chance, dass doch mal 2 Dateien den gleichen Hash haben. tempnam() ist definitiv sinnvoller. Mit der Frage, ob auf längere Sicht VIELE Dateien im Files-Ordner zum Performanceproblem werden, hatten wir uns ja schon mal befasst, meine ich, und der Status war: es muss eine gewaltige Menge sein, bevor die heutigen Filesysteme bei Direktzugriff auf einen Namen in die Knie gehen. Die Idee, die Dateien auf einen Baum aus Ordnern zu verteilen, stammt aus der schlechten alten FAT Zeit und ist nicht mehr nötig.
Aber wenn man ohnehin eine DB braucht, in der der Realname drin steht und vielleicht auch der User, dem die Datei "gehört" oder weitere Infos, dann könnte man ja das gzip-Ergebnis auch gleich in ein Binary-Feld der Datenbank legen und sich auf einen Autoincrement-Key verlassen. Dann sind alle Daten beisammen, die beisammen sein sollten.
Rolf
sumpsi - posui - obstruxi