?? ???
php ?? ???
?? ??? ??? HTML ???? PHP ?? ??? ? ???? ?????. HTML ?????? ?? ???? ???? ??? ??? ? ???, PHP ????? ??? ??? ????? ??? ??? ? ????.
1. 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>
??:
1. ?? ??? Type="file"? ??? ??? ???? ?????.
2.Enctype? ? ??? ??? ? ??? ??? ??? ?????. ??? ?? ???? ?? ???? ???? ??? ?? ??? ?????? "multipart/form-data"? ?????.
enctype? ?? ??? ??? "HTML <form> ??? enctype ??"? ?????.
2. PHP ??
upload.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 "請(qǐng)上傳文件"; }
??:
1. ?? ?? $_FILE
? ???? ???? ?? ?? ??? ?????.
? ??? ?? ?? ??? ?? ??? img?? ??? ?????. ???
$_FILES['img']['name']
?????? ???? ??? ?? ?????.
$_FILES['img']['type']
????? ? ??? ???? ?? ??? MIME ?????. ?? ?? "???/gif"???. ??? ? MIME ??? PHP ??? ???? ???? ? ?? ??? ???? ??? ????. $_FILES['img']['size']: ???? ??? ??(???)???.
$_FILES['img']['size']
???? ??? ??(???)???.
$_FILES['img']['tmp_name']
?? ??? ? ??? ???? ?? ?? ?????.
$_FILES['img']['error']
?? ??? ?? ?? ?????.
2. ?? ?? ??
$_FILES['img']['error']?? ??? ?? ??? ????.
UPLOAD_ERR_OK
?? 0?? ??? ???? ???? ??? ??????. ??????.
UPLOAD_ERR_INI_SIZE
?? 1??, ???? ??? php.ini? upload_max_filesize ??? ?? ???? ?? ?????.
UPLOAD_ERR_FORM_SIZE
?? 2??, ???? ??? ??? HTML ??? MAX_FILE_SIZE ???? ??? ?? ?????.
UPLOAD_ERR_PARTIAL
?? 3??, ??? ??? ??????.
UPLOAD_ERR_NO_FILE
?? 4?? ???? ??? ????.
UPLOAD_ERR_NO_TMP_DIR
?? 6?? ?? ??? ?? ? ????. PHP 4.3.10 ? PHP 5.0.3? ???????.
UPLOAD_ERR_CANT_WRITE
?? 7, ?? ??? ??????. PHP 5.1.0? ???????.