Aliro al la dosiersistemo per SQL

Mi ĵus renkontis belan eblon en MySQL enigi la dosiersistemon kaj akiri valorajn informojn, ekzemple pri la ekzisto de dosieroj kaj dosierujoj aŭ ilia enhavo. Ĉi tio povas esti tre helpa kiel alternativo al la php-funkcio file_exists , ĉar la informoj pri la ekzisto de la dosiero (j) ankoraŭ povas esti uzataj en la konsulto por pliaj ordigaj kaj agregaj funkcioj.


Se la asociita datumbaza uzanto havas la privilegion DOSIERO , vi povas uzi la komandon

SELECT LOAD_FILE(*PFAD ZUR DATEI*)

Dum la pridemando ne nur kontrolu ĉu dosiero ekzistas, sed ankaŭ tralegis ĝian enhavon.

Ĉe Vindozaj sistemoj oni devas rimarki, ke malantaŭaj oblikvoj devas esti markitaj laŭe en la vojo al la dosiero (ekzemplo: C: \\ Vindozo \\ System32 \\ ŝoforoj \\ ktp \\ gastigantoj). La sekureca aspekto ankaŭ ne devas esti tute malatentata, ĉar kiam la DOSIERA privilegio estas donita, aliro al la datumbazo aŭtomate signifas aliron al la resto de la dosiersistemo.

Por certigi, ke ne nur NULaj valoroj estas redonitaj, oni devas certigi, ke la uzanto, kiu administras MySQL, havas legajn rajtojn.

Por aliri grandajn dosierojn, la tutmonda posedaĵo "max_allowed_packet", kiu estas agordita al 1 MB, devas esti pliigita.

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

Vi povas nun (post rekomenci la servilon) aliri dosierojn ĝis 512 MB.

Reen