PHP ialah bahasa pembangunan web yang biasa digunakan Banyak tapak web dibangunkan dan diselenggara menggunakan PHP, dan salah satu fungsi yang paling biasa ialah muat naik fail. Dalam PHP, walaupun proses muat naik fail agak mudah, kadangkala anda menghadapi situasi di mana anda perlu menukar nama fail yang dimuat naik.
Artikel ini akan memperkenalkan cara memuat naik fail dan menukar nama fail yang dimuat naik dalam PHP.
1. Muat naik fail
Dalam PHP, muat naik fail menggunakan tatasusunan super global $_FILES. Tatasusunan ini mengandungi maklumat tentang fail yang dimuat naik, seperti nama, saiz dan jenis fail yang dimuat naik.
Berikut ialah contoh kod muat naik fail ringkas:
if(isset($_FILES['file'])){ $file_name = $_FILES['file']['name']; $file_tmp_name = $_FILES['file']['tmp_name']; $file_size = $_FILES['file']['size']; $file_type = $_FILES['file']['type']; $file_error = $_FILES['file']['error']; //将上传的文件移动到指定目录 move_uploaded_file($file_tmp_name, $file_name); }
Dalam kod di atas, mula-mula gunakan fungsi isset() untuk menyemak sama ada $_FILES['file'] ditetapkan, dan kemudian daripada Dapatkan maklumat terperinci fail yang dimuat naik daripada tatasusunan super global, termasuk nama fail, nama fail sementara, saiz fail, jenis fail dan maklumat ralat. Akhir sekali, gunakan fungsi move_uploaded_file() untuk mengalihkan fail dari folder sementara ke direktori yang ditentukan.
2. Tukar nama fail yang dimuat naik
Andaikan kita perlu menamakan semula fail yang dimuat naik untuk mengelakkan konflik nama fail atau meningkatkan keselamatan. Pengubahsuaian nama fail boleh dilakukan menggunakan fungsi siap pakai dalam PHP.
Fungsi 1: rename()
Anda boleh menggunakan fungsi rename() untuk menukar nama fail yang dimuat naik. Fungsi rename() mempunyai dua parameter, nama fail asal dan nama fail baharu.
if(isset($_FILES['file'])){ $file_name = $_FILES['file']['name']; $file_tmp_name = $_FILES['file']['tmp_name']; $file_size = $_FILES['file']['size']; $file_type = $_FILES['file']['type']; $file_error = $_FILES['file']['error']; //将上传的文件移动到指定目录,并改变文件名称 $new_name = "newfile.jpg"; $new_path = "uploads/".$new_name; move_uploaded_file($file_tmp_name, $new_path); rename($new_path, "uploads/".rand(1000, 9999)."_".$new_name); }
Dalam kod di atas, mula-mula alihkan fail yang dimuat naik ke direktori yang ditentukan dan tukar nama fail yang dimuat naik kepada newfile.jpg. Kemudian, gunakan fungsi rename() untuk menukar nama fail kepada nombor rawak dengan garis bawah dan nama fail asal newfile.jpg. Menggunakan nombor rawak dan cap masa boleh mengelakkan pertindihan nama fail dan meningkatkan keselamatan muat naik fail.
Fungsi 2: move_uploaded_file()
Apabila mengalih dan memuat naik fail, anda boleh terus menggunakan fungsi move_uploaded_file() untuk menukar nama fail.
if(isset($_FILES['file'])){ $file_name = $_FILES['file']['name']; $file_tmp_name = $_FILES['file']['tmp_name']; $file_size = $_FILES['file']['size']; $file_type = $_FILES['file']['type']; $file_error = $_FILES['file']['error']; //修改上传文件的名称 $new_name = "newfile.jpg"; move_uploaded_file($file_tmp_name, "uploads/".rand(1000, 9999)."_".$new_name); }
Dalam kod di atas, mula-mula dapatkan butiran fail yang dimuat naik, kemudian alihkan fail yang dimuat naik ke direktori yang ditentukan dan tukar nama fail kepada nombor rawak dengan garis bawah dan nama fail baharu fail baharu .jpg.
Ringkasan
Dalam artikel ini, kami memperkenalkan dua kaedah tentang cara memuat naik fail dalam PHP dan menukar nama fail yang dimuat naik: menggunakan fungsi rename() dan move_uploaded_file( )fungsi. Mengenai keselamatan dan kestabilan fungsi muat naik fail, kedua-dua kaedah mempunyai kelebihan dan kekurangan, dan anda perlu memilih mengikut situasi sebenar. Walau apa pun, amalan pengekodan yang baik harus diikuti untuk memastikan keselamatan dan kebolehpercayaan muat naik fail.
Atas ialah kandungan terperinci Bagaimana untuk memuat naik fail dan menamakan semula mereka dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!