File di server web harus selalu tanpa spasi (bukan "ini adalah gambar.jpg"), tanpa umlaut atau karakter khusus (bukan "football.jpg"), tanpa garis miring terbalik (bukan "Arbeit \ Auto.jpg") dan dalam huruf kecil (bukan "" test.JPG "). Namun, baru-baru ini, saya harus mengakses dan memproses sejumlah besar file preset dengan nama file apa pun untuk proyek pelanggan.
Sistem Linux mengizinkan akses ke file dengan umlaut dan karakter khusus secara default, sehingga tidak ada fitur khusus yang perlu dipertimbangkan di sini. Ini terlihat sangat berbeda pada sistem Windows: Di sini Anda harus menggunakan beberapa trik dan masuk ke antarmuka COM. Pertama-tama, Anda menyertakan ekstensi yang diperlukan di php.ini
[COM_DOT_NET] extension = php_com_dotnet.dll
satu. Sekarang kelas pembantu yang sangat membantu WinfsUtf8 digunakan, yang sangat menyederhanakan akses ke objek COM dan memetakan hampir semua fungsi PHP yang mempengaruhi file. Setelah mengintegrasikan file dengan
require_once('WinfsUtf8.php');
seseorang memiliki semua kemungkinan akses file, misalnya hasil
file_exists('ä.jpg');
salah salah, sedangkan
Patchwork\PHP\Override\WinfsUtf8::file_exists('ä.jpg');
mengembalikan true.