الوصول إلى نظام الملفات باستخدام SQL

لقد صادفت للتو خيارًا رائعًا في MySQL للاستفادة من نظام الملفات والحصول على معلومات قيمة ، على سبيل المثال حول وجود الملفات والمجلدات أو محتوياتها. يمكن أن يكون هذا مفيدًا جدًا كبديل لوظيفة php file_exists ، نظرًا لأنه لا يزال من الممكن استخدام المعلومات حول وجود الملف (الملفات) في الاستعلام لمزيد من وظائف الفرز والتجميع.


إذا كان مستخدم قاعدة البيانات المقترن لديه امتياز FILE ، فيمكنك استخدام الأمر

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 ميجا بايت.

عودة