Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Membuat Direktori dengan Selamat dengan Nama Fail UTF-8 dalam PHP?
Menggunakan Fungsi Sistem Fail PHP dengan Rentetan UTF-8
Dalam PHP, pengendalian rentetan UTF-8 semasa bekerja dengan fungsi sistem fail boleh menimbulkan cabaran. Pertimbangkan senario berikut:
$dir_name = "Depósito"; mkdir($dir_name);
Dalam contoh ini, percubaan dibuat untuk mencipta folder bernama "Depósito." Walau bagaimanapun, apabila dilihat dalam Windows Explorer, nama folder muncul sebagai "Depósito," dengan aksara bukan UTF-8 diherotkan.
Penyelesaian: Urlencoding UTF-8 Strings
Untuk menyelesaikan isu ini, pendekatan yang disyorkan adalah dengan urlencode rentetan sebelum menggunakannya dengan fungsi sistem fail. Urlencoding memastikan bahawa semua aksara ditukar kepada format yang sah.
$dir_name_encoded = urlencode("Depósito"); mkdir($dir_name_encoded);
Dengan urlencoding rentetan, aksara bukan UTF-8 ditukar kepada rakan yang dikodkan, membenarkan folder dibuat dengan nama yang betul .
Pertimbangan
Semasa urlencoding ialah penyelesaian yang berkesan, ia memperkenalkan beberapa pertimbangan:
Penyelesaian Alternatif (Kurang Diingini)
Penyelesaian lain yang kurang diingini termasuk:
Kaveat:
Alih Huruf:
Dalam kes di mana keserasian UTF-8 adalah penting, pertimbangkan untuk menggunakan transliterasi untuk menukar aksara bukan ASCII kepada aksara ASCII yang setara yang serasi dengan sistem fail sasaran.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuat Direktori dengan Selamat dengan Nama Fail UTF-8 dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!