mit glob(*.txt) könntest du vermutlich auch zusammen mit count() die anzahl der existierenden txt-files in einem ordner herausbekommen.
Ungünstig. Kann zu Konflikten führen:
Das Skript holt für Benutzer A die Anzahl der Dateien.
Das Skript holt 2ms später für Benutzer B die Anzahl der Dateien.
Danach schreibt das Skript für Benutzer A die Inhalte und dann schreibt das Skript für Benutzer B die Inhalte in die gleiche Datei.
Ich würde deshalb dazu neigen entweder gleich eine Datenbank zu bemühen oder aber tempnam() zu verwenden. Um die Dateien dann fortlaufend zu haben genügt wohl die Sortierung nach der Erstellungszeit - die man mit filectime() heraus bekommen kann.