Πρόσφατα ανακάλυψα έναν έξυπνο τρόπο πρόσβασης στο σύστημα αρχείων και ανάκτησης πολύτιμων πληροφοριών, όπως η ύπαρξη αρχείων και φακέλων ή το περιεχόμενό τους. Αυτό μπορεί να είναι πολύ χρήσιμο ως εναλλακτική λύση στη συνάρτηση PHP ` file_exists` , καθώς οι πληροφορίες σχετικά με την ύπαρξη του/των αρχείου/αρχείων μπορούν να χρησιμοποιηθούν στο ερώτημα για περαιτέρω συναρτήσεις ταξινόμησης και συγκέντρωσης.
Εφόσον ο χρήστης της συσχετισμένης βάσης δεδομένων έχει δικαιώματα FILE , η εντολή μπορεί να χρησιμοποιηθεί
SELECT LOAD_FILE(*PFAD ZUR DATEI*)
Κατά τη διάρκεια του ερωτήματος όχι μόνο ελέγξτε αν υπάρχει ένα αρχείο, αλλά και διαβάστε το περιεχόμενό του.
Σε συστήματα Windows θα πρέπει να σημειωθεί ότι η ανάστροφη κάθετο στη διαδρομή προς το αρχείο πρέπει να επισημανθεί ανάλογα (παράδειγμα: C: \\ Windows \\ System32 \\ drivers \\ etc \\ hosts). Η πτυχή ασφάλειας δεν πρέπει επίσης να αγνοηθεί πλήρως, καθώς όταν χορηγείται το προνόμιο FILE, η πρόσβαση στη βάση δεδομένων σημαίνει αυτόματα πρόσβαση στο υπόλοιπο σύστημα αρχείων.
Για να διασφαλιστεί ότι δεν επιστρέφονται μόνο οι τιμές NULL, πρέπει να διασφαλιστεί ότι ο χρήστης που εκτελεί MySQL έχει δικαιώματα ανάγνωσης.
Για να αποκτήσετε πρόσβαση σε μεγάλα αρχεία, η καθολική ιδιότητα "max_allowed_packet", η οποία έχει οριστεί σε 1 MB, πρέπει να αυξηθεί.
mysql -u... -p... set global max_allowed_packet = 1024 * 1024 * 512; exit;
Τώρα μπορείτε (μετά την επανεκκίνηση του διακομιστή) να αποκτήσετε πρόσβαση σε αρχεία μεγέθους έως 512 MB.