Hozzáférés a fájlrendszerhez SQL használatával

Most találkoztam a MySQL egyik jó lehetőségével, hogy bekapcsolódjak a fájlrendszerbe, és értékes információkat szerezzek, például a fájlok és mappák létezéséről vagy azok tartalmáról. Ez nagyon hasznos lehet a file_exist php függvény alternatívájaként , mivel a fájl (ok) létezésével kapcsolatos információk továbbra is felhasználhatók a lekérdezésben további rendezési és összesítési funkciókhoz.


Ha a társított adatbázis- felhasználó rendelkezik FÁJL jogosultsággal , akkor használhatja a parancsot

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.

Vissza