Tatasusunan sistem yang digunakan oleh PHP untuk menerima maklumat fail yang dimuat naik ialah $_FILES.
Dalam PHP, kami selalunya perlu mengendalikan muat naik fail, seperti memuat naik gambar, video dan fail lain. Untuk mengendalikan maklumat dan data yang berkaitan semasa proses muat naik, PHP menyediakan tatasusunan sistem khas $_FILES untuk menyimpan maklumat fail yang dimuat naik. Pembolehubah
$_FILES ialah tatasusunan bersekutu dua dimensi dengan struktur berikut:
$_FILES = array( 'file' => array( 'name' => 'filename.txt', //文件名 'type' => 'text/plain', //文件MIME类型 'tmp_name' => '/tmp/php/php1h4jCk', //上传的临时文件名 'error' => 0, //上传的错误代码 'size' => 123 //上传文件的大小 ) );
Antaranya, "fail" dalam tatasusunan ialah nama elemen bentuk, seperti berikut Kod HTML:
<form enctype="multipart/form-data" method="POST"> <input type="file" name="file"/> </form>
Dalam borang ini, "fail" ialah nama elemen borang.
Dalam $_FILES, maklumat yang disimpan khusus termasuk:
Berikut ialah maksud setiap medan dalam $_FILES:
Nama fail asal bagi fail yang dimuat naik, tidak termasuk laluan fail. Jika nama fail diubah suai apabila fail dimuat naik, pembolehubah ini menyimpan nama fail baharu.
Jenis MIME fail yang dimuat naik, iaitu jenis kandungan fail, seperti teks/plain, application/oktet-strim, dsb. .
Nama fail sementara bagi fail yang dimuat naik dan laluan untuk menyimpan fail sementara ini. Laluan ini ialah direktori sementara di bahagian pelayan.
Kod ralat untuk memuat naik fail. Jika muat naik berjaya, nilai ini ialah 0. Nilai lain yang mungkin termasuk:
- UPLOAD_ERR_OK:文件上传成功。 - UPLOAD_ERR_INI_SIZE:上传的文件超过了php.ini 中 upload_max_filesize 选项限制的值。 - UPLOAD_ERR_FORM_SIZE:上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 - UPLOAD_ERR_PARTIAL:文件只有部分被上传。 - UPLOAD_ERR_NO_FILE:没有文件被上传。 - UPLOAD_ERR_CANT_WRITE:写入磁盘失败。 - UPLOAD_ERR_EXTENSION:PHP扩展停止文件上传。
Saiz fail yang dimuat naik, dalam bait.
Contoh penggunaan pembolehubah $_FILES:
Jika kita ingin memuat naik imej dalam bentuk, kita boleh menggunakan kod HTML berikut:
<form enctype="multipart/form-data" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="100000" /> <input type="file" name="image" /> <input type="submit" name="submit" value="Upload Image" /> </form>
Di bahagian pelayan, kita boleh menggunakan Kod PHP berikut mengendalikan fail yang dimuat naik:
<?php if(isset($_POST['submit'])) { $file = $_FILES['image']; $filename = $file['name']; $filetmp = $file['tmp_name']; $filesize = $file['size']; $filetype = $file['type']; // TODO: 处理上传文件 move_uploaded_file($filetmp, "uploads/" . $filename); } ?>
Apabila memproses fail yang dimuat naik, kami mula-mula menyemak sama ada borang yang diserahkan mengandungi medan "serahkan" Ini adalah untuk mengelakkan pemprosesan fail yang dimuat naik tanpa menghantar borang .
Kami mula-mula mendapatkan maklumat fail daripada pembolehubah $_FILES dan mentakrifkan pembolehubah $filename, $filetmp, $filesize, $filetype untuk menyimpan nama fail, nama fail sementara bagi fail yang dimuat naik, saiz fail dan MIME taip masing-masing.
Seterusnya, kita boleh menggunakan fungsi PHP move_uploaded_file() untuk mengalihkan fail yang dimuat naik dari direktori sementara ke direktori yang ditentukan tempat kami menyimpan fail, seperti direktori "muat naik/" dalam contoh di atas.
Ringkasan:
$_FILES ialah pembolehubah utama untuk memproses muat naik fail dalam PHP Ia mengandungi pelbagai maklumat tentang fail yang dimuat naik, termasuk nama fail, jenis MIME, muat naik nama fail sementara, saiz, dll . Apabila menggunakan $_FILES, kita perlu memberi perhatian kepada masa penyerahan borang, logik pemprosesan fail yang dimuat naik dan kaedah penyimpanan fail yang dimuat naik.
Atas ialah kandungan terperinci Tatasusunan sistem yang manakah PHP gunakan untuk menerima maklumat fail yang dimuat naik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!