莫忘初心才能始终
2018-09-22 05:11
<?php
//$fileInfo=$_FILES['myFile'];
function uploadFile($fileInfo,$maxSize=2097152,$uploadPath='uploads',$flag=true,$allowExt=array('jpeg','jpg','gif','png')){
//判断错误号
if($fileInfo['error']>0){
switch ($fileInfo['error']) {
case 1:
$mes= '上传文件超过了PHP配置文件中upload_max_filesize选项的值';
break;
case 2:
$mes= '超过了表单MAX_FILE_SIZE的限制大小';
break;
case 3:
$mes= '文件部分被上传';
break;
case 4:
$mes= '没有选择上传文件';
break;
case 6:
$mes= '没有找到临时目录';
break;
case 7:
case 8:
$mes= '系统错误';
break;
}
exit($mes);
}
$ext=pathinfo($fileInfo['name'],PATHINFO_EXTENSION);
//$allowExt=array('jpeg','jpg','png','gif');
//检测上传文件的类型
if(!in_array($ext,$allowExt)){
exit('非法文件类型');
}
//$maxSize=2097152;//2M
//检测上传文件的类型是否符合规范
if($fileInfo['size']>$maxSize){
exit('上传文件过大');
}
//检测图片是否为真实类型
//$flag=true;
if ($flag) {
if(!getimagesize($fileInfo['tmp_name'])){
exit('不是真实图片类型');
}
}
//检测文件是否是通过HTTP POST方式上传上来
if(!is_unloaded_file($fileInfo['tmp_name'])){
exit('文件不是通过HTTP post方式上传上来的');
}
//$uploadPath='uploads';
//检测目录是否存在
$uniName=md5(uniqid(microtime(true),true)).'.'.$ext;
$destination=$uploadPath.''.$uniName;
if(!file_exists($uploadPath)){
mkdir($uploadPath,0777,true);
chmod($uploadPath,0777);
}
if(!@move_uploaded_file($fileInfo['tmp_name'],$destination)){
exit('移动文件失败');
}
//echo '文件上传成功';
//return 路径名 文件 大小 类型 数组
// return array(
// 'newName'=>$destination,
// 'size'=>fileInfo['size'],
// 'type'=>fileInfo['type']
// )
return $destination;
}
老哥谢谢了,我没想到真的低级的错误
if(!is_unloaded_file($fileInfo['tmp_name'])){
exit('文件不是通过HTTP post方式上传上来的');
}
//此处错误,is_uploaded_file()
PHP实现文件上传与下载
43735 学习 · 328 问题
相似问题