脚本宝典收集整理的这篇文章主要介绍了后端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; } //判断保存路径是否有效 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; }
以上是脚本宝典为你收集整理的后端PHP, 封装文件上传函数全部内容,希望文章能够帮你解决后端PHP, 封装文件上传函数所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。