Файли на веб-серверах завжди повинні бути без пробілів (не "це картинка.jpg"), без відмінок або спеціальних символів (не "football.jpg"), без зворотних скісних рисок (не "Arbeit \ Auto.jpg") і малими літерами (не " test.JPG "). Однак нещодавно мені довелося отримати доступ і обробити велику кількість попередньо встановлених файлів з будь-яким ім’ям для проекту замовника.
Системи Linux за замовчуванням дозволяють отримувати доступ до файлів з озвучуванням та спеціальними символами, так що тут не слід розглядати особливі можливості. Зовсім інакше це виглядає в системах 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');
повертає true.