PHP: Windowsтун астында умлауттар менен файлга мүмкүндүк алуу

Веб-серверлердеги файлдар ар дайым боштуксуз ("бул сүрөт.jpg эмес"), умлаутсуз жана атайын белгилерсиз ("football.jpg" эмес), тескери бурулушсуз ("Arbeit \ Auto.jpg" эмес) жана кичине тамга менен (жок "болушу керек) test.JPG "). Жакында, бирок, мен кардардын долбоору үчүн каалаган файлдын аталышы менен алдын-ала орнотулган файлдардын көп сандаган кирүү жана иштеп чыгуу керек болчу.


Linux тутумдары демейки шартта umlauts жана атайын белгилери бар файлдарга мүмкүнчүлүк берет, андыктан бул жерде эч кандай өзгөчө функциялар эске алынбайт. Windows тутумдарында таптакыр башкача көрүнөт: Бул жерде бир нече фокусту колдонуп, COM интерфейсине кирип кетүү керек. Биринчиден, php.ini файлына керектүү кеңейтүүнү киргизесиз

[COM_DOT_NET]
extension = php_com_dotnet.dll

бир. Азыр COM объектилерине жеткиликтүүлүктү бир кыйла жеңилдеткен жана PHP файлдарына таасирин тийгизген дээрлик бардык жардамчы класс WinfsUtf8 колдонулат. Менен файлды бириктиргенден кийин

require_once('WinfsUtf8.php');

мисалы, натыйжалар үчүн файлга кирүүгө бардык мүмкүнчүлүктөр бар

file_exists('ä.jpg');

туура эмес жалган, ал эми

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

return true.

Артка