PHP: Dosiera aliro kun umlaŭtoj sub Vindozo

Dosieroj en retserviloj ĉiam estu sen spacoj (ne "ĉi tio estas bildo.jpg"), sen umlaŭtoj aŭ specialaj signoj (ne "futbalo.jpg"), sen malantaŭaj oblikvoj (ne "Arbeit \ Auto.jpg") kaj minuskle (ne ") test.JPG "). Lastatempe mi tamen devis aliri kaj prilabori grandan nombron da antaŭdifinitaj dosieroj kun iu ajn dosiernomo por klienta projekto.


Linukso-sistemoj permesas aliron al dosieroj kun umlaŭtoj kaj specialaj signoj defaŭlte, tiel ke neniuj specialaj trajtoj devas esti konsiderataj ĉi tie. Ĝi aspektas tute malsama ĉe Vindozaj sistemoj: Ĉi tie vi devas uzi iujn lertaĵojn kaj enmeti la interfacon COM. Unue vi inkluzivas la bezonatan etendaĵon en php.ini

[COM_DOT_NET]
extension = php_com_dotnet.dll

unu. Nun estas uzata la tre helpema helpa klaso WinfsUtf8 , kiu tre simpligas aliron al la COM-objektoj kaj mapas preskaŭ ĉiujn PHP-funkciojn, kiuj efikas sur dosieroj. Post integrado de la dosiero kun

require_once('WinfsUtf8.php');

oni havas ĉiujn eblecojn pri la aliro al dosiero, ekzemple rezultoj

file_exists('ä.jpg');

malĝuste malvera, dum

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

redonas veron.

Reen