Bagaimana Mengendalikan Nama Fail Berkod UTF-8 dalam Muat Naik Fail PHP?

Patricia Arquette
Lepaskan: 2024-11-03 05:56:30
asal
180 orang telah melayarinya

How to Handle UTF-8 Encoded Filenames in PHP File Uploads?

Memuat naik Nama Fail UTF-8 dalam PHP

Apabila berurusan dengan muat naik fail, kendalikan nama fail yang mengandungi aksara khas, seperti dalam UTF-8 pengekodan, boleh memberikan cabaran. Begini caranya untuk menyelesaikan isu ini:

Coretan kod yang disediakan cuba memuat naik nama fail yang dikodkan UTF-8, tetapi ia menghadapi isu di mana nama fail yang terhasil pada pelayan mempamerkan aksara yang bercelaru. Untuk membetulkannya, pertimbangkan penyelesaian berikut:

Pilihan 1: Tukar Nama Fail kepada Halaman Kod Sistem

Pada sistem pengendalian tertentu, fungsi sistem fail hanya boleh menyokong aksara dalam halaman kod sistem . Dalam kes ini, tukar nama fail kepada halaman kod yang sesuai menggunakan fungsi iconv. Contohnya, untuk Windows 8 dalam Bahasa Cina Ringkas, gunakan:

<code class="php">$filename = iconv("UTF-8", "cp936", $filename);</code>
Salin selepas log masuk

Pilihan 2: Tukar Halaman Kod Sistem dan Halaman Kod Nama Fail

Pendekatan alternatif ialah menukar sistem halaman kod ke Vietnam (1258) menggunakan tetapan Panel Kawalan. Tukar nama fail kepada halaman kod 1258 juga, menggunakan kod berikut:

<code class="php">$fn2 = iconv("UTF-8","cp1258", $base_dir.$fn);</code>
Salin selepas log masuk

Pertimbangan Pilihan:

Pilihan 1: Had Halaman Kod Sistem

Pilihan ini mengehadkan aksara nama fail kepada halaman kod sistem yang disokong, yang mungkin tidak termasuk semua aksara Vietnam.

Pilihan 2: Perubahan Halaman Kod Sistem

Sementara pendekatan ini membenarkan penggunaan aksara Vietnam, ia mengubah suai halaman kod sistem, yang berpotensi menjejaskan aplikasi lain dan tidak selalu memberikan penyelesaian yang lengkap.

Akhirnya, pilihan ideal bergantung pada konfigurasi sistem anda dan keperluan khusus.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Nama Fail Berkod UTF-8 dalam Muat Naik Fail PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan