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

Barbara Streisand
Lepaskan: 2024-10-30 12:10:26
asal
984 orang telah melayarinya

How to Handle UTF-8 Filenames in PHP for Vietnamese Uploads?

PHP - Mengendalikan Nama Fail UTF-8 semasa Muat Naik

Apabila berurusan dengan muat naik yang mengandungi nama fail UTF-8, mungkin sukar untuk memastikan bahawa watak-watak itu dipelihara dengan tepat. Ini amat relevan untuk bahasa seperti Vietnam yang menggunakan diakritik dan aksara bukan Latin.

Dalam PHP, pengendalian nama fail UTF-8 memerlukan pertimbangan khusus, kerana fungsi sistem fail mungkin tidak menyokongnya secara asli. Seperti yang digambarkan dalam contoh kod yang disediakan:

<code class="php"><?php
    if(isset($_POST["submit"])) { 
       if($_FILES["upload"]["error"] > 0 ) echo "FILE ERROR!"; 
       else 
         { 
           $base_dir = "D:/"; 
           $fn = $_FILES["upload"]["name"]; 

           $fn2 = $base_dir . $fn;

           move_uploaded_file($_FILES["upload"]["tmp_name"], $fn2); 
         } 
     } 
?></code>
Salin selepas log masuk

Kod ini cuba memuat naik fail bernama Vietnam, "Tên Tệp Tiếng Việt.JPG". Walau bagaimanapun, apabila dimuat naik, nama fail yang terhasil pada komputer dipaparkan sebagai "Tên Tệp Tiếng Việt.JPG" disebabkan pengendalian aksara yang salah.

Untuk menyelesaikan isu ini, ia adalah diperlukan untuk menukar nama fail kepada halaman kod sistem sebelum mengendalikannya dalam fungsi sistem fail PHP. Halaman kod ialah tetapan yang mentakrifkan aksara yang tersedia dalam sistem pengendalian.

Bergantung pada sistem pengendalian khusus anda dan halaman kod lalainya, terdapat dua penyelesaian yang berpotensi:

Pilihan 1: Hadkan Aksara Nama Fail

Ini melibatkan pengehadan aksara dalam nama fail kepada yang disokong oleh halaman kod sistem, biasanya ASCII (437) dalam kes anda. Walaupun ini memastikan bahawa nama fail disimpan dengan tepat, ia mengehadkan penggunaan aksara Vietnam tertentu.

Pilihan 2: Tukar Halaman Kod Sistem

Ini memerlukan perubahan kod sistem halaman ke Vietnam (1258) melalui Tetapan Serantau dalam Panel Kawalan. Setelah perubahan dibuat, tukarkan nama fail kepada CP1258, yang membolehkan pengendalian yang betul oleh fungsi sistem fail PHP.

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

Dengan memilih salah satu daripada pendekatan ini, anda boleh memastikan bahawa nama fail Vietnam UTF-8 dikendalikan dengan betul semasa muat naik dalam PHP.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Nama Fail UTF-8 dalam PHP untuk Muat Naik Vietnam?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!