Nemrég rábukkantam egy ügyes módszerre, amellyel elérhetem a fájlrendszert, és értékes információkat kinyerhetek, például fájlok és mappák létezéséről vagy azok tartalmáról. Ez nagyon hasznos lehet a ` file_exists` PHP függvény alternatívájaként, mivel a fájl(ok) létezésére vonatkozó információk felhasználhatók a lekérdezésben további rendezési és összesítési függvényekhez.
Feltéve, hogy a társított adatbázis-felhasználó rendelkezik FÁJL jogosultságokkal , a parancs használható.
SELECT LOAD_FILE(*PFAD ZUR DATEI*)
A lekérdezés során nemcsak ellenőrizze, hogy létezik-e egy fájl, hanem olvassa el annak tartalmát is.
Windows rendszereken meg kell jegyezni, hogy a visszavonásokat ennek megfelelően kell megjelölni a fájl elérési útjában (például: C: \\ Windows \\ System32 \\ drivers \\ etc \\ hosts). A biztonsági szempontot sem szabad teljesen figyelmen kívül hagyni, mivel a FÁJL jogosultság megadásakor az adatbázishoz való hozzáférés automatikusan a fájlrendszer többi részéhez való hozzáférést jelenti.
Annak biztosítása érdekében, hogy ne csak a NULL értékeket adjanak vissza, biztosítani kell, hogy a MySQL-t futtató felhasználó rendelkezzen olvasási jogokkal.
A nagy fájlok eléréséhez meg kell növelni a "max_allowed_packet" globális tulajdonságot, amelynek értéke 1 MB.
mysql -u... -p... set global max_allowed_packet = 1024 * 1024 * 512; exit;
Most (a szerver újraindítása után) elérheti az 512 MB méretű fájlokat.