PHP: Hyrja e skedarit me umlauts nën Windows

Skedarët në serverat e uebit duhet të jenë gjithmonë pa hapësira (jo "kjo është një foto.jpg"), pa umlauts ose karaktere speciale (jo "football.jpg"), pa vijëzime të pasme (jo "Arbeit \ Auto.jpg") dhe me shkronja të vogla (jo "" test.JPG "). Kohët e fundit, megjithatë, mua më duhej të aksesoja dhe përpunoja një numër të madh skedarësh me ndonjë emër skedari për një projekt të klientit.


Sistemet Linux lejojnë qasjen në skedarë me umlauts dhe karaktere speciale si parazgjedhje, në mënyrë që këtu të mos ketë nevojë për veçori të veçanta. Duket krejtësisht ndryshe në sistemet e Windows: Këtu duhet të përdorni disa hile dhe të prekni në ndërfaqen COM. Së pari, ju përfshini shtrirjen e kërkuar në php.ini

[COM_DOT_NET]
extension = php_com_dotnet.dll

një Tani përdoret klasa ndihmëse shumë e dobishme WinfsUtf8 , e cila thjeshton shumë aksesin në objektet COM dhe harton pothuajse të gjitha funksionet PHP që ndikojnë në skedarë. Pas integrimit të skedarit me

require_once('WinfsUtf8.php');

njëri ka të gjitha mundësitë e hyrjes në skedar, për shembull rezultatet

file_exists('ä.jpg');

gabimisht i rremë, ndërsa

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

kthehet e vërtetë.

Mbrapa