php实现文件上传

来源:互联网 发布:eclipse不编译java 编辑:程序博客网 时间:2024/05/17 15:19
/**
 * 自定义的文件上传功能函数
 * @param  array $fileinfo  包含有文件信息的数组 type、size、name、tmp_name、err
 * @param  array $allowExt 允许上传的文件的扩展名称
 * @param        $path     文件上传路径
 * @return [type]           [description]
 */
function upload_file($fileinfo,$allowExt,$path)
{
    if ($fileinfo['error']==UPLOAD_ERR_OK) {

       $ext=pathinfo($fileinfo['name'],PATHINFO_EXTENSION);
       if (!in_array($ext,$allowExt)) {
           exit('非法文件类型');    
       }
       $fileinfo['name']=md5(uniqid()).".".$ext;
       if (move_uploaded_file($fileinfo['tmp_name'],$path.$fileinfo['name'])){
            return $path.$fileinfo['name'];
       }  
       return false;

    }
    else
    {
       switch ($error) {
         case 1:
            exit("文件超过了PHP配置文件中upload_max_filzesize选项的值");
            break;
         case 2:
            exit("超过表单MAX_FILE_SIZE限制的大小");
            break;
         case 3:
            exit("文件部分被上传");
            break;
         case 4:
            exit("没有选择上传文件");
            break;
         case 6:
            exit("没有找到临时目录");
            break;
         case 7:
         case 8:    
            exit("系统错误");    
             break;
        default:            
            break;
        }
        return false;
    }
}
0 0