PHP: الوصول إلى الملفات باستخدام علامات تغيير في نظام التشغيل Windows

يجب أن تكون الملفات الموجودة على خوادم الويب دائمًا بدون مسافات (وليس "هذه صورة. jpg") ، بدون علامات تشكيل أو أحرف خاصة (وليس "football.jpg") ، وبدون خطوط مائلة للخلف (وليس "Arbeit \ Auto.jpg") وبأحرف صغيرة (وليس "" test.JPG "). ومع ذلك ، اضطررت مؤخرًا إلى الوصول إلى عدد كبير من الملفات ومعالجتها بأي اسم ملف لمشروع العميل.


تسمح أنظمة Linux بالوصول إلى الملفات ذات علامات تغيير الصوت والأحرف الخاصة افتراضيًا ، بحيث لا توجد ميزات خاصة يجب أخذها في الاعتبار هنا. يبدو مختلفًا تمامًا على أنظمة Windows: هنا عليك استخدام بعض الحيل والنقر على واجهة COM. بادئ ذي بدء ، عليك تضمين الامتداد المطلوب في ملف php.ini

[COM_DOT_NET]
extension = php_com_dotnet.dll

واحد. الآن يتم استخدام فئة المساعد المفيدة للغاية WinfsUtf8 ، والتي تبسط بشكل كبير الوصول إلى كائنات COM وتعيين تقريبًا جميع وظائف PHP التي تؤثر على الملفات. بعد دمج الملف مع

require_once('WinfsUtf8.php');

يمتلك المرء كل إمكانيات الوصول إلى الملفات ، على سبيل المثال النتائج

file_exists('ä.jpg');

خطأ بشكل غير صحيح ، بينما

Patchwork\PHP\Override\WinfsUtf8::file_exists('ä.jpg');

يعود صحيحا.

عودة