Aliro al la dosiersistemo per SQL

Mi ĵus trovis interesan manieron aliri la dosiersistemon kaj preni valorajn informojn, kiel ekzemple la ekziston de dosieroj kaj dosierujoj aŭ ilian enhavon. Ĉi tio povas esti tre helpema kiel alternativo al la PHP-funkcio ` file_exists` , ĉar la informoj pri la ekzisto de la dosiero(j) povas esti uzataj en la serĉmendo por pliaj ordigaj kaj agregaj funkcioj.


Kondiĉe ke la asociita datumbaza uzanto havas FILE-privilegiojn , la komando povas esti uzata

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