PHP. Windows- ի ներքո umlauts- ով ֆայլերի հասանելիություն

Վեբ սերվերների ֆայլերը միշտ պետք է լինեն առանց բացերի (ոչ «սա նկար է. Jpg»), առանց umlauts կամ հատուկ նիշերի (ոչ «football.jpg»), առանց հետադարձ կապի (ոչ «Arbeit \ Auto.jpg») և փոքրատառերով («ոչ») test.JPG »): Այնուամենայնիվ, վերջերս ես ստիպված էի մուտք գործել և մշակել մեծ թվով նախադրված ֆայլեր ցանկացած ֆայլի անունով հաճախորդի նախագծի համար:


Linux համակարգերը լռելյայնորեն թույլ են տալիս մուտք գործել umlauts և հատուկ նիշերով ֆայլեր, որպեսզի այստեղ հատուկ առանձնահատկություններ հաշվի չառնել: Windows համակարգերում դա բոլորովին այլ տեսք ունի. Այստեղ դուք պետք է օգտագործեք որոշ հնարքներ և մուտք գործեք COM ինտերֆեյս: Առաջին հերթին, դուք php.ini- ում ներառում եք պահանջվող ընդլայնում

[COM_DOT_NET]
extension = php_com_dotnet.dll

մեկը Այժմ օգտագործվում է WinfsUtf8 օգնականի շատ օգտակար դասը, ինչը մեծապես հեշտացնում է COM օբյեկտների մուտքը և քարտեզագրում գրեթե բոլոր PHP գործառույթները, որոնք ազդում են ֆայլերի վրա: Ֆայլը ինտեգրվելուց հետո

require_once('WinfsUtf8.php');

մեկը ունի ֆայլերի հասանելիության բոլոր հնարավորությունները, օրինակ ՝ արդյունքները

file_exists('ä.jpg');

սխալ կեղծ, մինչդեռ

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

վերադառնում է իրական:

Վերադառնալ