hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 杂谈 - 正文 君子好学,自强不息!

【杂谈】php怎样运用multiple属性完成多文件上传及信息剖析?(图文+视频)

2019-11-18杂谈搜奇网52°c
A+ A-
本篇文章将继承为人人引见怎样运用HTML5中的 multiple属性来完成PHP多文件上传以及信息剖析的细致要领。

那末我们在之前的文章【PHP完成多个文件上传的简朴要领有哪些?】中,已为人人简朴引见了一些php完成多文件上传的简朴要领,须要的朋侪能够参考进修。

下面我们再经由过程细致的代码示例,为人人细致引见php运用multiple属性来完成多文件上传及其信息剖析的完全要领。

起首HTML form表单代码以下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="getFile.php" method="post" enctype="multipart/form-data">
 挑选文件举行上传: <input type="file" name="file[]" multiple=""><br>
    <input type="submit" value="上传">
</form>
</body>
</html>

我们挑选上传多张图片,再经由过程浏览器接见,效果以下:

再将文件上传到getFile.php这个文件中,PHP代码示例以下:

var_dump($_FILES);

此时经由过程浏览器接见效果以下:

此时能够看到我们猎取到了上图中的三维数组。

那末我们想要对上传来的多个文件举行信息剖析,就须要先对上传信息举行组装。

那末完全的getFile.php代码以下:

<?php
/**
 * 组装多文件上传信息
 */
$files = [];
function getFile()
{
    $i = 0;
    foreach ($_FILES as $file) {
        if (is_string($file['name'])) {
            $files['$i'] = $file;
            $i++;
        } elseif (is_array($file['name'])) {
            foreach ($file['name'] as $k => $v) {
                $files[$i]['name'] = $file['name'][$k];
                $files[$i]['type'] = $file['type'][$k];
                $files[$i]['tmp_name'] = $file['tmp_name'][$k];
                $files[$i]['error'] = $file['error'][$k];
                $files[$i]['size'] = $file['size'][$k];
                $i++;
            }
        }
    }
    return $files;
}

/**
 * 文件上传
 * @param $fileInfo
 * @param string $upload
 * @param array $imagesExt
 * @return string
 */
function upload_file($fileInfo, $upload = "./upload", $imagesExt = ['gif', 'png', 'jpg'])
{
    $res = [];
    if ($fileInfo['error'] === 0) {
        $ext = strtolower(pathinfo($fileInfo['name'], PATHINFO_EXTENSION));
        if (!in_array($ext, $imagesExt)) {
            $res['mes'] = "文件不法范例";
        }
        if (!is_dir($upload)) {
            mkdir($upload, 0777, true);
        }
        if ($res) {
            return $res;
        }
        $fileName = md5(uniqid(microtime(true), true)) . "." . $ext;
        $destName = $upload . "/" . $fileName;
        if (!move_uploaded_file($fileInfo['tmp_name'], $destName)) {
            $res['mes'] = "文件上传失利!";
        }
        $res['mes'] = $fileInfo['name'] . "文件上传胜利!";
        $res['dest'] = $destName;
        return $res;
    } else {
        switch ($fileInfo['error']) {
            case 1:
                $res['mes'] = '上传的文件超过了 php.ini 中 upload_max_filesize 选项限定的值';
                break;
            case 2:
                $res['mes'] = '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值';
                break;
            case 3:
                $res['mes'] = '文件只要部份被上传';
                break;
            case 4:
                $res['mes'] = '没有文件被上传';
                break;
            case 6:
                $res['mes'] = '找不到临时文件夹';
                break;
            case 7:
                $res['mes'] = '文件写入失利';
                break;
        }
        return $res;
    }
}

$files = getFile();

foreach ($files as $fileInfo) {
    $res = upload_file($fileInfo);
    echo $res['mes'];
    var_dump($res['dest']);
}

在上述代码中,我们起首经由过程foreach轮回推断语句对上传来的多维数组信息举行推断重组,然后再建立upload_file要领对多个文件的上传信息举行剖析。

这里的upload_file要领我们在【PHP文件上传要领详解及其信息剖析】这篇文章中已细致引见过了,人人能够挑选参考。以上就是关于PHP完成多文件上传及其信息剖析的细致要领。

想要相识更多的PHP相干学问,能够关注Ki4网的PHP视频教程!

以上就是php怎样运用multiple属性完成多文件上传及信息剖析?(图文+视频)的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
【杂谈】php怎样运用multiple属性完成多文件上传及信息剖析?(图文+视频)

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章

本文来源:搜奇网

本文地址:https://www.sou7.cn/281845.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>