用php实现文件上传,用php实现文件上传

php文件上传

$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,$path='./uploads',$flag=true,$maxSize=1048576,$allowExt=array('jpeg','jpg','gif','png')){

//$flag = true;

//$maxSize = 1048576;

//$allowExt = array('jpeg','jpg','gif','png');

//判断错误号

if ($fileInfo['error']===UPLOAD_ERR_OK) {

if ($fileInfo['size']>$maxSize) {

$res['mes']=$fileInfo['name'].'上传文件过大';

}

//检测上传文件的类型

$ext = getExt($fileInfo['name']);

if (!in_array($ext, $allowExt)) {

$res['mes'] = $fileInfo['name'].'非法文件类型';

}

//检测是否为真实图片类型

if ($flag) {

if (!getimagesize($fileInfo['tmp_name'])) {

$res['mes'] = $fileInfo['name'].'不是真实的图片类型';

}

}

//检测文件是否为HTTP POST 方式上传来的

if (!is_uploaded_file($fileInfo['tmp_name'])) {

$res['mes'] = $fileInfo['name'].'文件不是通过HTTP POST 方式上传来的';

}

if ($res) return $res; //如果res有值,先输出

//$path = './uploads';

if (!file_exists($path)) {

mkdir($path,0777,true);

chmod($path, 0777);

}

$uniName = getUniName();

$destination = $path.'/'.$uniName.'.'.$ext;

if (!move_uploaded_file($fileInfo['tmp_name'], $destination)) {

$res['mes'] =$fileInfo['name'].'文件移动失败';

}

$res['mes'] = $fileInfo['name'].'文件上传成功';

$res['dest'] = $destination;

return $res;

}else{

switch ($fileInfo['error'] ) {

case 1:

$res['mes']= '上传文件超过了PHP配置文件中upload_max_filesize选项的值';

break;

case 2:

$res['mes']= '超过了表单MAX_FILE_SIZE限制的大小';

break;

case 3:

$res['mes']='文件部分被上传';

break;

case 4:

$res['mes']= '没有选择上传文件';

break;

case 6:

$res['mes']= '没有找到临时目录';

break;

case 7:

case 8:

$res['mes']= '系统错误';

break;

}

return $res;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值