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

本篇文章将继承为人人引见怎样运用HTML5中的

multiple属性来完成PHP多文件上传以及信息剖析的细致要领。

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

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

起首HTML form表单代码以下:

Title

挑选文件举行上传:

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

af1e60fe443387087806b0ce3ebcf2e2.png

a1b84d32570d37f028a983b114b65077.png

8600c823666217c34ad9ce8f20db5f79.png

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

var_dump($_FILES);

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

372627f20d2bf40694025e695421b26a.png

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

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

那末完全的getFile.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网别的相干文章!

收藏 | 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值