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

வலை சேவையகங்களில் உள்ள கோப்புகள் எப்போதும் இடைவெளிகள் இல்லாமலும் ("this is an image.jpg" என்பது போல அல்ல), உம்லாட்கள் அல்லது சிறப்பு எழுத்துக்கள் இல்லாமலும் ("football.jpg" என்பது போல அல்ல), பின்சாய்வுக் கோடுகள் இல்லாமலும் ("work\car.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');

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

மீண்டும்