يجب دائمًا تخزين الملفات على خوادم الويب بدون مسافات (ليس "this is an image.jpg")، وبدون علامات التشكيل أو الأحرف الخاصة (ليس "football.jpg")، وبدون شرطات مائلة عكسية (ليس "work\car.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');
يعود صحيحا.