اكتشفتُ مؤخرًا طريقةً رائعةً للوصول إلى نظام الملفات واسترجاع معلومات قيّمة، مثل وجود الملفات والمجلدات أو محتوياتها. يُمكن أن تكون هذه الطريقة مفيدةً جدًا كبديلٍ لدالة PHP ` file_exists` ، حيث يُمكن استخدام معلومات وجود الملفات في الاستعلام لإجراء عمليات فرز وتجميع إضافية.
بشرط أن يمتلك مستخدم قاعدة البيانات المرتبط صلاحيات الوصول إلى الملفات ، يمكن استخدام الأمر.
SELECT LOAD_FILE(*PFAD ZUR DATEI*)
أثناء الاستعلام ، لا تتحقق فقط من وجود الملف ، ولكن أيضًا اقرأ محتواه.
في أنظمة Windows ، تجدر الإشارة إلى أنه يجب وضع علامة على الخطوط المائلة العكسية في مسار الملف وفقًا لذلك (مثال: C: \\ Windows \\ System32 \\ drivers \\ etc \\ hosts). لا ينبغي أيضًا تجاهل جانب الأمان تمامًا ، لأنه عند منح امتياز FILE ، فإن الوصول إلى قاعدة البيانات يعني تلقائيًا الوصول إلى بقية نظام الملفات.
لضمان عدم إرجاع القيم الفارغة فقط ، يجب التأكد من أن المستخدم الذي يقوم بتشغيل MySQL لديه حقوق القراءة.
للوصول إلى الملفات الكبيرة ، يجب زيادة الخاصية العامة "max_allowed_packet" ، والتي تم تعيينها على 1 ميغابايت.
mysql -u... -p... set global max_allowed_packet = 1024 * 1024 * 512; exit;
يمكنك الآن (بعد إعادة تشغيل الخادم) الوصول إلى الملفات التي يمكن أن يصل حجمها إلى 512 ميجا بايت.