PHP: விண்டோஸின் கீழ் umlauts உடன் கோப்பு அணுகல்

வலை சேவையகங்களில் உள்ள கோப்புகள் எப்போதும் இடைவெளிகள் இல்லாமல் இருக்க வேண்டும் ("இது ஒரு படம். Jpg" அல்ல), umlauts அல்லது சிறப்பு எழுத்துக்கள் இல்லாமல் ("football.jpg" அல்ல), பின்சாய்வு இல்லாமல் ("Arbeit \ Auto.jpg" அல்ல) மற்றும் சிறிய எழுத்துக்களில் (இல்லை " test.JPG "). இருப்பினும், சமீபத்தில், ஒரு வாடிக்கையாளர் திட்டத்திற்காக எந்தவொரு கோப்பு பெயருடனும் ஏராளமான கோப்புகளை அணுகி செயலாக்க வேண்டியிருந்தது.


லினக்ஸ் அமைப்புகள் இயல்புநிலையாக umlauts மற்றும் சிறப்பு எழுத்துக்கள் கொண்ட கோப்புகளை அணுக அனுமதிக்கின்றன, இதனால் இங்கு சிறப்பு அம்சங்கள் எதுவும் கருதப்பட வேண்டியதில்லை. இது விண்டோஸ் கணினிகளில் முற்றிலும் மாறுபட்டதாகத் தெரிகிறது: இங்கே நீங்கள் சில தந்திரங்களைப் பயன்படுத்த வேண்டும் மற்றும் 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');

உண்மை அளிக்கிறது.

மீண்டும்