Filesystem

From A-Eskwiki
Jump to: navigation, search

Om bestanden op het filesysteem te manipuleren, gebruiken we Flysystem. Er is een globale variabele $filesystem die je kunt gebruiken voor alle operaties die je maar wilt. De root van het filesystem (in de constante FILESYSTEM_PREFIX) is /srv/content, dus alle bestandsnamen krijgen dat ervoor geplakt. (Inclusief absolute paden!) Dit wil je voor de beveiliging, want zo kan een aanvaller nooit de files met geheimen te pakken krijgen.

Nu vraag je je misschien af: is dat niet heel kut als je bijvoorbeeld een dictaat uit /srv/dictaten wilt versturen? Ja, stiekem is dat best wel kut. De oplossing is dat je een symlink maakt van /srv/content/dictaten naar /srv/dictaten. Verder moet je gewoon je content in /srv/content aanmaken.

Wil je een bestand aan de gebruiker tonen, dan kun je sendfilefromfs gebruiken. Die zorgt automatisch voor de juiste headers enzovoort. Let op dat de prefix alleen in Flysystem automatisch gebruikt wordt, bij andere code moet je handmatig de prefix ervoor zetten.