PHP 学习小结(三)—— PHP 上传原理及应用

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值