后端PHP, 封装文件上传函数
发布时间:2020-12-13 22:17:45 所属栏目:PHP教程 来源:网络整理
导读:? php /* * 文件上传函数 */ function upload_single($file,$allow_type,$path, $error,$allow_format=array(),$max_size= 2000000 ){ // 判断文件是否有效 if (!(is_array($file)isset($file[ " error " ]))){ $error = " 上传文件无效 " ; return false ;
<?php /* * 文件上传函数 */ function upload_single($file,$allow_type,$path,&$error,$allow_format=array(),$max_size=2000000){ //判断文件是否有效 if(!(is_array($file)&&isset($file["error"]))){ $error="上传文件无效"; return false; } //判断保存路径是否有效 if(!is_dir($path)){ $error="路径错误!"; return false; } //判断文件上传过程中是都出错 switch ($file["error"]){ case 1: case 2: $error="文件超出服务器应许大小"; return false; case 3: $error="文件只上传部分"; return false; case 6: case 7: $error="文件保存失败"; return false; } //判断mime类型 if(!in_array($file["type"],$allow_type)){ print_r($file["type"]."<->".$allow_type); $error="当前文件不允许上传12"; return false; } //判断后缀名是否正确 $ext=ltrim(strrchr($file["name"],"."),"."); if(!in_array($ext,$allow_format)&&!empty($allow_format)){ $error="上传文件是不允许上传的后缀名"; return false; } //判断当前文字是否满足这个函数的最大上传值 if($file["size"]>$max_size){ $error="上传文件过大"; return false; } //构建名字:随机构造 $full_name=strstr($file["type"],"/").date("YYYYmmdd"); for($i=0;$i<4;++$i){ $full_name.=chr(mt_rand(65,90)); } //拼凑后缀 $full_name.=‘.‘.$ext; //移动到指定目录 if(!is_uploaded_file($file["tmp_name"])){ $error="错误, 不是上传文件"; return false; } if(move_uploaded_file($file["tmp_name"],$path.‘/‘.$full_name)){ return $full_name; }else{ $error="文件移动失败"; return false; } } //提供数据 $file=$_FILES["image"]; $path="image/"; $allow_format=array("JPG","JPEG"); $allow_type=array("image/jpeg","/image/jpg"); $max_size=80000000; $error; if(upload_single($file,$error,$allow_format,$max_size)){ echo "上传成功!"; }else{ echo $error; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |