Langkah-langkah untuk memuat naik fail php
Langkah-langkah memuat naik fail
Untuk mempelajari PHP dengan lebih baik, kami telah meringkaskan muat naik fail PHP yang sangat kompleks kepada 6 langkah.
Dalam penggunaan sebenar, anda boleh melengkapkan muat naik fail PHP dengan jayanya dengan mengikuti 6 langkah berikut:
1 Tentukan sama ada terdapat kod ralat
Penjelasan terperinci tentang kod ralat yang dikembalikan oleh sistem:
错误码 | 说明 |
---|---|
0 | 无误,可以继续进行文件上传的后续操作。 |
1 | 超出上传文件的最大限制,upload_max_filesize = 2M php.ini中设置,一般默认为2M。可根据项目中的实际需要来修改 |
2 | 超出了指定的文件大小,根据项目的业务需求指定上传文件的大小限制 |
3 | 只有部分文件被上传 |
4 | 文件没有被上传 |
6 | 找不到临时文件夹,可能目录不存在或没权限 |
7 | 文件写入失败,可能磁盘满了或没有权限 |
Nota: Tiada 5 dalam kod ralat.
2. Pertimbangan tersuai sama ada saiz fail melebihi julat
Apabila membangunkan fungsi muat naik. Sebagai pembangun, kami, sebagai tambahan kepada nilai muat naik maksimum yang dinyatakan dalam php.ini.
Kami biasanya juga menetapkan nilai, iaitu had saiz muat naik yang ditentukan oleh perniagaan.
Contohnya:
Sina Weibo atau Zon QQ hanya membenarkan satu gambar avatar 2M. Apabila memuat naik album, anda boleh memuat naik lebih daripada 2J.
Jadi, sistemnya menyokong muat naik fail yang lebih besar.
Saiz fail penghakiman di sini digunakan untuk mengehadkan saiz fail yang dimuat naik yang ingin kami tentukan dalam perniagaan sebenar.
3. Tentukan sama ada nama akhiran dan jenis mim sepadan
Terdapat juga orang jahat dalam dunia dalam talian. Mereka akan memasukkan virus ke dalam gambar, memuat naik virus dalam lampiran, dan mereka akan memasukkan virus atau gambar lucah ke dalam halaman web.
Kita perlu menilai jenis akhiran dan mime bagi fail yang dimuat naik.
MIME (Sambungan Mel Internet Serbaguna) ialah jenis sambungan mel Internet pelbagai guna. Ia adalah sejenis kaedah yang menetapkan fail dengan sambungan tertentu untuk dibuka oleh aplikasi Apabila fail dengan sambungan itu diakses, penyemak imbas secara automatik akan menggunakan aplikasi yang ditentukan untuk membukanya. Ia kebanyakannya digunakan untuk menentukan beberapa nama fail yang ditentukan pelanggan dan beberapa kaedah pembukaan fail media.
Apabila menentukan akhiran dan jenis MIME, kami akan menggunakan fungsi PHP in_array(), yang lulus dalam dua parameter.
Parameter pertama ialah nilai yang akan dinilai
Parameter kedua ialah tatasusunan julat.
Kami menggunakan fungsi ini untuk menentukan sama ada sambungan fail dan jenis mime berada dalam julat yang dibenarkan.
4. Jana nama fail
Fail kami telah berjaya dimuat naik, tetapi ia tidak akan menyimpan nama asal.
Kerana sesetengah orang yang mempunyai kata kunci sensitif dalam nama asal mereka akan melanggar undang-undang dan peraturan yang berkaitan di negara kita.
Kami boleh menggunakan date(), mt_rand() atau unique() untuk menjana nama fail rawak.
5. Tentukan sama ada ia adalah fail yang dimuat naik
Apabila fail berjaya dimuat naik, sistem akan memuat naik fail sementara yang dimuat naik ke direktori sementara sistem. Buat fail sementara.
Nama fail sementara juga akan dijana. Apa yang perlu kita lakukan ialah mengalihkan fail sementara ke direktori yang ditentukan pada sistem.
Adalah tidak saintifik untuk tidak bergerak secara membuta tuli sebelum bergerak, atau bergerak secara salah. Sebelum bergerak, kita perlu menggunakan fungsi yang berkaitan untuk menentukan sama ada fail yang dimuat naik adalah fail sementara.
is_uploaded_file() lulus dalam parameter (nama fail cache dalam $_FILES) untuk menentukan sama ada nama yang diluluskan adalah fail yang dimuat naik.
6. Alihkan fail sementara ke lokasi yang ditentukan
Fail sementara ialah fail sementara yang sebenar, kami perlu mengalihkannya ke direktori tapak web kami.
Jadikan data dalam direktori tapak web kami boleh diakses oleh orang lain.
Kami menggunakan: move_uploaded_file().
Fungsi ini mengalihkan fail yang dimuat naik ke lokasi yang ditentukan dan menamakannya.
Lepaskan dua parameter:
Parameter pertama ialah fail yang dimuat naik untuk dialihkan;
Parameter kedua ialah rentetan yang menggabungkan folder dan nama yang ditentukan.