Нещодавно я натрапив на зручний спосіб доступу до файлової системи та отримання цінної інформації, такої як існування файлів і папок або їх вміст. Це може бути дуже корисним як альтернатива функції PHP ` file_exists` , оскільки інформація про існування файлу(ів) може бути використана в запиті для подальших функцій сортування та агрегації.
За умови, що пов'язаний користувач бази даних має права доступу до FILE , команду можна використовувати.
SELECT LOAD_FILE(*PFAD ZUR DATEI*)
Під час запиту не тільки перевірте, чи існує файл, а й прочитайте його вміст.
У системах Windows слід зазначити, що зворотні скісні риски повинні бути позначені відповідним чином у шляху до файлу (приклад: C: \\ Windows \\ System32 \\ драйвери \\ тощо \\ хости). Також не слід повністю ігнорувати аспект безпеки, оскільки при наданні привілею FILE доступ до бази даних автоматично означає доступ до решти файлової системи.
Щоб забезпечити повернення не лише NULL-значень, необхідно забезпечити, щоб користувач, який запускає MySQL, мав права на читання.
Для доступу до великих файлів слід збільшити загальну властивість "max_allowed_packet", яка встановлена на 1 МБ.
mysql -u... -p... set global max_allowed_packet = 1024 * 1024 * 512; exit;
Тепер ви можете (після перезапуску сервера) отримати доступ до файлів розміром до 512 МБ.