Tệp trên máy chủ web phải luôn không có khoảng trắng (không phải "đây là tranh.jpg"), không có âm sắc hoặc ký tự đặc biệt (không phải "football.jpg"), không có dấu gạch chéo ngược (không phải "Arbeit \ Auto.jpg") và viết thường (không phải "" test.JPG "). Tuy nhiên, gần đây, tôi phải truy cập và xử lý một số lượng lớn các tệp đặt trước với bất kỳ tên tệp nào cho dự án của khách hàng.
Các hệ thống Linux cho phép truy cập vào các tệp có âm sắc và ký tự đặc biệt theo mặc định, do đó không có tính năng đặc biệt nào được xem xét ở đây. Nó trông hoàn toàn khác trên hệ thống Windows: Ở đây bạn phải sử dụng một số thủ thuật và nhấn vào giao diện COM. Trước hết, bạn bao gồm phần mở rộng bắt buộc trong php.ini
[COM_DOT_NET] extension = php_com_dotnet.dll
một. Bây giờ, lớp trợ giúp rất hữu ích WinfsUtf8 được sử dụng, giúp đơn giản hóa đáng kể việc truy cập vào các đối tượng COM và ánh xạ hầu hết các hàm PHP ảnh hưởng đến tệp. Sau khi tích hợp tệp với
require_once('WinfsUtf8.php');
một người có tất cả các khả năng truy cập tệp, ví dụ như kết quả
file_exists('ä.jpg');
sai sai, ngược lại
Patchwork\PHP\Override\WinfsUtf8::file_exists('ä.jpg');
trả về true.