Muat naik fail
muat naik fail php
Fungsi muat naik fail terdiri daripada dua bahagian, halaman HTML dan bahagian pemprosesan PHP. Halaman HTML terutamanya membenarkan pengguna memilih fail untuk dimuat naik, dan bahagian PHP membolehkan kami menyimpan fail dalam direktori yang ditentukan pada pelayan.
1. Bahagian HTML
upload.html
<html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> </head> <body> 上传Demo: <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="img" /> <input type="submit" name="submit" value="上传" /> </form> </body> </html>
Penerangan:
1. Type="file" dalam teg Input menunjukkan bahawa input diproses sebagai fail.
2.Enctype menentukan jenis kandungan yang hendak digunakan semasa menyerahkan borang ini. Apabila borang memerlukan data binari, seperti kandungan fail, sila gunakan "multipart/form-data".
Untuk mendapatkan maklumat lanjut tentang enctype, lihat "enctype attribute of HTML <form> tag"
2. Bahagian PHP
muat naik.php
<?php $DST_DIR = '/data/upload/'; if ($_FILES['img']['name'] != '') { if ($_FILES['img']['error'] > 0) { echo "上传失败"; } else { if (move_uploaded_file($_FILES['img']['tmp_name'], $DST_DIR.$_FILES['img']['name'])) { echo "上传成功"; } else { echo "上传失败"; } } } else { echo "请上传文件"; }
Penerangan:
1. Pembolehubah global $_FILE
Tatasusunan ini mengandungi semua maklumat fail yang dimuat naik.
Katakan nama medan muat naik fail ialah img seperti yang ditunjukkan dalam contoh di atas. Kemudian
$_FILES['img']['name']
Nama asal fail yang dimuat naik oleh klien.
$_FILES['img']['type']
Jenis MIME fail, jika penyemak imbas memberikan maklumat ini. Contohnya ialah "imej/gif". Walau bagaimanapun, jenis MIME ini tidak disemak pada bahagian PHP, jadi jangan ambil mudah bahawa ia mempunyai nilai ini. $_FILES['img']['size']: Saiz fail yang dimuat naik, dalam bait.
$_FILES['img']['size']
Saiz fail yang dimuat naik, dalam bait.
$_FILES['img']['tmp_name']
Nama fail sementara yang disimpan pada pelayan selepas fail dimuat naik.
$_FILES['img']['error']
Kod ralat yang berkaitan dengan muat naik fail.
2. Mengenai kod ralat
$_FILES['img']['error'] mempunyai jenis berikut
UPLOAD_ERR_OK
Nilainya ialah 0, tiada ralat berlaku dan muat naik fail telah berjaya.
UPLOAD_ERR_INI_SIZE
Nilainya ialah 1, dan fail yang dimuat naik melebihi nilai yang dihadkan oleh pilihan upload_max_filesize dalam php.ini.
UPLOAD_ERR_FORM_SIZE
Nilainya ialah 2, dan saiz fail yang dimuat naik melebihi nilai yang ditentukan oleh pilihan MAX_FILE_SIZE dalam bentuk HTML.
UPLOAD_ERR_PARTIAL
Nilainya ialah 3, hanya sebahagian daripada fail dimuat naik.
UPLOAD_ERR_NO_FILE
Nilainya ialah 4, tiada fail dimuat naik.
UPLOAD_ERR_NO_TMP_DIR
Nilainya ialah 6, folder sementara tidak dapat ditemui. PHP 4.3.10 dan PHP 5.0.3 diperkenalkan.
UPLOAD_ERR_CANT_WRITE
Nilainya ialah 7, penulisan fail gagal. PHP 5.1.0 diperkenalkan.