Jeg stødte lige på en god mulighed i MySQL til at trykke på filsystemet og få værdifuld information, for eksempel om eksistensen af filer og mapper eller deres indhold. Dette kan være meget nyttigt som et alternativ til php-funktionen file_exists , da informationen om eksistensen af filerne stadig kan bruges i forespørgslen til yderligere sorterings- og aggregeringsfunktioner.
Hvis den tilknyttede databasebruger har FILE-privilegiet , kan du bruge kommandoen
SELECT LOAD_FILE(*PFAD ZUR DATEI*)
Under forespørgslen skal du ikke kun kontrollere, om der findes en fil, men også læse dens indhold ud.
På Windows-systemer skal det bemærkes, at tilbageslag i stien til filen skal markeres i overensstemmelse hermed (eksempel: C: \\ Windows \\ System32 \\ drivere \\ osv \\ værter). Sikkerhedsaspektet bør heller ikke ignoreres fuldstændigt, da når FILE-privilegiet tildeles, betyder adgang til databasen automatisk adgang til resten af filsystemet.
For at sikre, at ikke kun NULL-værdier returneres, skal det sikres, at den bruger, der kører MySQL, har læserettigheder.
For at få adgang til store filer skal den globale ejendom "max_allowed_packet", der er indstillet til 1 MB, øges.
mysql -u... -p... set global max_allowed_packet = 1024 * 1024 * 512; exit;
Du kan nu (efter genstart af serveren) få adgang til filer, der er op til 512 MB i størrelse.