Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ทำให้ pathinfo() ใน PHP คืนชื่อไฟล์ที่ถูกต้องเมื่อชื่อไฟล์เป็น UTF-8


ฟังก์ชันหลักของ PHP ส่วนใหญ่ไม่จัดการชุดตัวอักษรนอกเหนือจาก Latin-1 แต่ก่อน 'pathinfo' การวาง 'setlocale' สามารถใช้เพื่อคืนชื่อไฟล์ที่ถูกต้องแม้จะเข้ารหัส UTF-8

โดยค่าเริ่มต้น ทำงานกับ locale 'C' และสคริปต์ CLI รันกับ locale utf-8 เริ่มต้น ควรเปลี่ยน locale บนเซิร์ฟเวอร์จาก 'C' เป็น 'C.UTF-8' หรือ 'en_US.UTF-8' ก่อนเรียกฟังก์ชันอื่นๆ

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