Computer >> Máy Tính >  >> Lập trình >> PHP

Đặt PHP pathinfo () trả về tên tệp chính xác nếu tên tệp là UTF-8

Hầu hết các hàm PHP cốt lõi không xử lý các bộ ký tự ngoài Latin-1. Nhưng trước ‘pathinfo’, việc đặt ‘setlocale’ có thể được sử dụng để trả về tên tệp chính xác ngay cả khi nó được mã hóa UTF-8.

Theo mặc định, nó chạy với ngôn ngữ ‘C’ và các tập lệnh CLI chạy với ngôn ngữ utf-8 mặc định. Ngôn ngữ trên máy chủ phải được thay đổi từ ‘C’ thành ‘C.UTF-8’ hoặc ‘en_US.UTF-8’ trước khi gọi các hàm khác.

setlocale(LC_ALL,'en_US.UTF-8');
pathinfo($OriginalName, PATHINFO_FILENAME);
pathinfo($OriginalName, PATHINFO_BASENAME);