FORM标签enctype属性
表单中enctype="multipart/form-data "的意思,是设置表单的MIME 编码。默认情况,
这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;
只有使用了multipart/form-data ,才能完整的传递文件数据
<form enctype="multipart/form-data" method="post" name="upform">
<input name="upfile" type="file">
$_FILES 系统函数
$_FILES['myFile']['name '] 客户端文件的原名称 。
$_FILES['myFile']['type '] 文件的 MIME 类型 ,例如"image/gif"。
// image/jpg
// image/jpeg
// image/png
// image/pjpeg
// image/gif
// image/bmp
// image/x-png
// application/x-zip-compressed
$_FILES['myFile']['size '] 已上传文件的大小 ,单位为字节 。
$_FILES['myFile']['tmp_name '] 储存的临时文件名,一般是系统默认。
$_FILES['myFile']['error '] 该文件上传相关的错误代码 。
// 0; 文件上传成功。
// 1; 超过了文件大小php.ini中。
// 2; 超过了文件大小 MAX_FILE_SIZE 选项指定的值。
// 3; 文件只有部分被上传。
// 4; 没有文件被上传。
// 5; 上传文件大小为0。
move_uploaded_file 函数
上传后移动 文件到目标位置 的函数
move_uploaded_file(临时文件,目标位置和文件名);
is_uploaded_file 函数
判断上传MIME类型的文件函数
move_uploaded_file(MIME);
示例代码:
<?php
// 判断文件是否上传
if (is_uploaded_file($_FILES['upfile']['tmp_name'])) {
$upfile = $_FILES["upfile"];
$name = $upfile["name"];
$type = $upfile["type"];
$size = $upfile["size"];
$tmp_name = $upfile["tmp_name"];
$error = $upfile["error"];
// 判断文件类型,图片格式的才允许上传
switch ($type) {
case 'image/pjpeg': $ok = 1;
break;
case 'image/jpeg': $ok = 1;
break;
case 'image/gif': $ok = 1;
break;
case 'image/png': $ok = 1;
break;
}
if ($ok && $error == '0') {
// 移动文件到指定目录
move_uploaded_file($tmp_name, 'up/'.$name);
echo "上传成功";
}
}
?>
<form action="" enctype="multipart/form-data" method="post" name="up">
上传文件:
<input name="upfile" type="file">
<input type="submit" value="上传"><br>
</form>