PHP: Akses file nganggo umlaut ing sangisore Windows

File ing server web kudu tanpa spasi (dudu "iki gambar.jpg"), tanpa umlaut utawa karakter khusus (dudu "bal-balan.jpg"), tanpa backslashes (dudu "Arbeit \ Auto.jpg") lan huruf cilik (dudu "" tes.JPG "). Nanging, saiki, aku kudu ngakses lan ngolah pirang-pirang file kanthi jeneng file kanggo proyek pelanggan.


Sistem Linux ngidini akses menyang file nganggo umlaut lan karakter khusus kanthi gawan, dadi ora ana fitur khusus sing kudu dipikirake ing kene. Katon beda banget ing sistem Windows: Ing kene sampeyan kudu nggunakake sawetara trik lan tutul menyang antarmuka COM. Kaping pisanan, sampeyan nyakup ekstensi sing dibutuhake ing php.ini

[COM_DOT_NET]
extension = php_com_dotnet.dll

siji Saiki kelas pembantu WinfsUtf8 sing migunani banget digunakake, sing nyederhanakake akses menyang obyek COM lan peta meh kabeh fungsi PHP sing mengaruhi file. Sawise nggabungake file karo

require_once('WinfsUtf8.php');

siji duwe kabeh kemungkinan akses file, kayata asil

file_exists('ä.jpg');

salah salah, dene

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

ngasilake bener.

Bali