Jag kom precis över ett trevligt alternativ i MySQL att utnyttja filsystemet och få värdefull information, till exempel om förekomsten av filer och mappar eller deras innehåll. Detta kan vara till stor hjälp som ett alternativ till php-funktionen file_exists , eftersom informationen om förekomsten av filen / filerna fortfarande kan användas i frågan för ytterligare sorterings- och aggregeringsfunktioner.
Om den associerade databasanvändaren har FILE-behörighet kan du använda kommandot
SELECT LOAD_FILE(*PFAD ZUR DATEI*)
Under förfrågan inte bara kontrollera om en fil existerar utan också läsa upp dess innehåll.
På Windows-system bör det noteras att bakåtvända snedstreck i sökvägen till filen måste markeras därefter (exempel: C: \\ Windows \\ System32 \\ drivrutiner \\ etc \\ värdar). Säkerhetsaspekten bör inte heller ignoreras helt, eftersom när FILE-privilegiet beviljas innebär åtkomst till databasen automatiskt tillgång till resten av filsystemet.
För att säkerställa att inte bara NULL-värden returneras måste det säkerställas att användaren som kör MySQL har läsrättigheter.
För att komma åt stora filer måste den globala egenskapen "max_allowed_packet", som är inställd på 1 MB, ökas.
mysql -u... -p... set global max_allowed_packet = 1024 * 1024 * 512; exit;
Du kan nu (efter omstart av servern) komma åt filer som är upp till 512 MB stora.