Fail pada pelayan web hendaklah sentiasa disimpan tanpa ruang (bukan "ini adalah image.jpg"), tanpa umlaut atau aksara khas (bukan "football.jpg"), tanpa tanda condong terbalik (bukan "work\car.jpg"), dan dalam huruf kecil (bukan "test.JPG"). Walau bagaimanapun, baru-baru ini, untuk projek klien, saya terpaksa mengakses dan memproses sebilangan besar fail yang telah ditetapkan dengan nama fail sewenang-wenangnya.
Sistem Linux membenarkan akses ke fail dengan umlaut dan watak khas secara lalai, sehingga tidak ada ciri khas yang harus dipertimbangkan di sini. Ia kelihatan sama sekali berbeza pada sistem Windows: Di sini anda harus menggunakan beberapa helah dan memasuki antara muka COM. Pertama sekali, anda memasukkan peluasan yang diperlukan dalam php.ini
[COM_DOT_NET] extension = php_com_dotnet.dll
satu. Kini kelas penolong yang sangat berguna WinfsUtf8 digunakan, yang sangat memudahkan akses ke objek COM dan peta hampir semua fungsi PHP yang mempengaruhi fail. Setelah mengintegrasikan fail dengan
require_once('WinfsUtf8.php');
seseorang mempunyai semua kemungkinan akses fail, contohnya hasil
file_exists('ä.jpg');
tidak betul salah, sedangkan
Patchwork\PHP\Override\WinfsUtf8::file_exists('ä.jpg');
kembali benar.