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

Վեբ սերվերների վրա ֆայլերը միշտ պետք է պահվեն առանց բացատների (ոչ թե «this is an image.jpg»), առանց umlaut-ների կամ հատուկ նիշերի (ոչ թե «football.jpg»), առանց հետադարձ թեք գծերի (ոչ թե «work\car.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');

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

Վերադառնալ