<?php
function getFiles()
{
$i=0;
foreach ($_FILES as $file)
{
if(is_string($file['name'])) //如果file.name是字符串,说明只有一个文件
{
$files[$i]=$file;
$i++;
}
elseif (is_array($file['name'])) //如果file.name是数组,说明有多个个文件
{
foreach ($file['name'] as $key => $val)
{
$files[$i]['name']=$file['name'][$key];
$files[$i]['type']=$file['type'][$key];
$files[$i]['tmp_name']=$file['tmp_name'][$key];
$files[$i]['error']=$file['error'][$key];
$files[$i]['size']=$file['size'][$key];
$i++;
}
}
}
return $files;
}
function uploadFile($fileInfo, $uniNameFlag, $path = './uploads')
{
// para0 文件信息
$filename=$fileInfo['name'];
$type=$fileInfo['type'];
$tmp_name=$fileInfo['tmp_name'];
$size=$fileInfo['size'];
$error=$fileInfo['error'];
$res['msg']=NULL;
$res['dest']=NULL;
// para1
// $uniNameFlag=true;
// para2 文件上传路径
// $path = './uploads';
// para3 允许上传的最大文件大小
$maxSize=10485761; // 10M
// para2 允许文件类型
$allowExt=array('bin');
// 判断错误号
if($error === UPLOAD_ERR_OK)
{
// 检测上传文件大小
if($size>$maxSize)
{
$res['msg'] = $filename." exceeds the upload_max_filesize!";
}
// 检测上传文件类型
$ext=getExt($filename);
if(!in_array($ext, $allowExt))
{
$res['msg'] = $filename." illegle file extension";
echo 'file extension is :',$ext, '<br>';
echo "legal extension are : ";
print_r($allowExt);
echo "<br>";
}
// 检测是否是通过HTTP POST方式上传上来的
if(!is_uploaded_file($tmp_name))
{
$res['msg'] = $filename." file is not uploaded through HTTP POST";
}
// 如果有以上错误, 直接返回错误信息
if($res['msg']) return $res;
// 判断文件路径是否存在, 不存在创建
if(!file_exists($path))
{
mkdir($path, 0777, true);
chmod($path, 0777);
}
// 是否使用唯一文件名
if($uniNameFlag)
{
$uniName = getUniName();
$destination = $path.'/'.$uniName;
}
else
{
$destination = $path.'/'.$filename;
}
if(!move_uploaded_file($tmp_name, $destination))
{
$res['msg'] = $filename." move file failed";
}
$res['msg'] = $filename." upload successfully";
$res['dest']=$destination;
}
else
{
switch ($error)
{
case UPLOAD_ERR_INI_SIZE:
$res['msg'] = "The uploaded file exceeds the upload_max_filesize directive in php.ini";
break;
case UPLOAD_ERR_FORM_SIZE:
$res['msg'] = "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form";
break;
case UPLOAD_ERR_PARTIAL:
$res['msg'] = "The uploaded file was only partially uploaded";
break;
case UPLOAD_ERR_NO_FILE:
$res['msg'] = "No file was uploaded";
break;
case UPLOAD_ERR_NO_TMP_DIR:
$res['msg'] = "Missing a temporary folder";
break;
case UPLOAD_ERR_CANT_WRITE:
$res['msg'] = "Failed to write file to disk";
break;
case UPLOAD_ERR_EXTENSION:
$res['msg'] = "File upload stopped by extension";
break;
default:
$res['msg'] = "Unknown upload error";
break;
}
}
return $res;
}
?>
没有合适的资源?快使用搜索试试~ 我知道了~
ESP8266_OTA升级_PHP后台程序

共9个文件
php:7个
bin:2个


温馨提示
ESP8266_OTA升级_PHP后台程序 这是自己写的,有关ESP8266_OTA升级的后台程序。是配合我博客写的ESP8266 OTA 无线升级的资源。
资源推荐
资源详情
资源评论























收起资源包目录












共 9 条
- 1
资源评论

- justinj2016-12-11都是套路啊

PillarPeng
- 粉丝: 209
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 向往C语言程序设计教案.pptx
- 西门子S7-200PLC与MCGS组态在污水处理控制系统中的应用及优化
- 基于单片机微型打印机系统控制设计.doc
- 网络购物的发展前景-怎样看待网络购物的发展前景趋势.docx
- 校园网络设计方案(网络规划)模板.doc
- 网络传输介质与网络设备.ppt
- 蓝代斯克网络安全准入解决方案.doc
- CoSec-Kotlin资源
- 知识表示方法语义网络和框架表示方法.ppt
- 网络营销教学实验——网络定价策略.doc
- 智慧城市时空信息云平台项目设计书.docx
- 电子商务实习报告总结(2).doc
- 信息网络安全保护方案.doc
- 基于Comsol技术的弯曲波导模式分析:有效折射率与损耗精确计算方法 电磁仿真 详解
- 社会网络研究样本.doc
- 信息系统安全和社会责任.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
