Akses ke sistem fail menggunakan SQL

Saya baru sahaja menemui pilihan yang bagus di MySQL untuk memanfaatkan sistem fail dan mendapatkan maklumat yang berharga, misalnya mengenai keberadaan fail dan folder atau kandungannya. Ini sangat berguna sebagai alternatif untuk fungsi php file_exists , kerana maklumat tentang keberadaan file masih dapat digunakan dalam pertanyaan untuk fungsi penyortiran dan penggabungan lebih lanjut.


Sekiranya pengguna pangkalan data yang berkaitan mempunyai hak istimewa FILE , anda boleh menggunakan perintah

SELECT LOAD_FILE(*PFAD ZUR DATEI*)

Semasa pertanyaan tidak hanya memeriksa sama ada fail ada, tetapi juga membaca kandungannya.

Pada sistem Windows perlu diingatkan bahawa garis miring terbalik mesti ditandakan dengan sewajarnya di jalan ke fail (contoh: C: \\ Windows \\ System32 \\ driver \\ etc \\ host). Aspek keselamatan juga tidak boleh diabaikan sepenuhnya, karena ketika hak istimewa FILE diberikan, akses ke pangkalan data secara automatik berarti akses ke sistem fail yang lain.

Untuk memastikan bahawa bukan sahaja nilai NULL dikembalikan, ia juga harus memastikan bahawa pengguna yang menjalankan MySQL mempunyai hak membaca.

Untuk mengakses fail besar, harta global "max_allowed_packet", yang ditetapkan menjadi 1 MB, harus ditingkatkan.

mysql -u... -p...
set global max_allowed_packet = 1024 * 1024 * 512;
exit;

Anda kini boleh (setelah memulakan semula pelayan) mengakses fail yang berukuran hingga 512 MB.

Belakang