Web sunucularındaki dosyalar her zaman boşluksuz ("this is an image.jpg" değil), umlaut veya özel karakter içermeyen ("football.jpg" değil), ters eğik çizgi içermeyen ("work\car.jpg" değil) ve küçük harfle ("test.JPG" değil) saklanmalıdır. Ancak yakın zamanda bir müşteri projesi için, rastgele dosya adlarına sahip çok sayıda önceden tanımlanmış dosyaya erişmem ve bunları işlemem gerekti.
Linux sistemleri, varsayılan olarak çift nokta işaretli ve özel karakterli dosyalara erişime izin verir, bu nedenle burada hiçbir özel özelliğin dikkate alınması gerekmez. Windows sistemlerinde tamamen farklı görünüyor: Burada bazı hileler kullanmanız ve COM arayüzüne dokunmanız gerekiyor. Her şeyden önce gerekli uzantıyı php.ini içine dahil edersiniz
[COM_DOT_NET] extension = php_com_dotnet.dll
bir. Şimdi, COM nesnelerine erişimi büyük ölçüde kolaylaştıran ve dosyaları etkileyen hemen hemen tüm PHP işlevlerini eşleştiren çok yardımcı yardımcı sınıf WinfsUtf8 kullanılıyor. Dosyayı entegre ettikten sonra
require_once('WinfsUtf8.php');
biri dosya erişiminin tüm olanaklarına sahiptir, örneğin sonuçlar
file_exists('ä.jpg');
yanlış olarak yanlış
Patchwork\PHP\Override\WinfsUtf8::file_exists('ä.jpg');
true döndürür.