• 代码千万行,注释第一行。命名不规范,同事泪千行。

PHP接收处理ajax上传的图片数组

PHP Secondar 5个月前 (05-27) 329次浏览 已收录 0个评论

上代码

<?php
$imgarr = uploadInfoImagearr($_FILES['img']);
print_r($imgarr);
/**
 * [uploadInfoImagearr description]
 * @param  [type] $arrFile [文件信息数组$_FILES]
 * @return [type]          [array]
 */
function uploadInfoImagearr($arrFile){
	$arrFiles = array();
	foreach ($arrFile as $k => $v) {
	    if(is_array($v)){
	        foreach ($v as $vk => $vl) {
	            $arrFiles[$vk][$k] = $vl;
	        }
	    }else{
	        $arrFiles = $arrFile;
	        break;
	    }
	}
	$arr = array();
	foreach ($arrFiles as $k => $v){
	    $arr[] = uploaded_file($v,array( 'image/jpg','image/jpeg', 'image/gif' ),'./','',6000000);
	}
	return $arr;
}
/**
 * [uploaded_file 上传文件]
 * @param  [array]  $arrFile     [文件信息数组$_FILES]
 * @param  [array]  $arrType     [允许的文件类型]
 * @param  [string] $strFile     [保存文件路径]
 * @param  [string] $strFileName [保存的文件名称]
 * @param  [int]    $intSize     [限制文件大小单位/b]
 * @return [array]               [数组信息]
 */
function uploaded_file($arrFile=array(),$arrType=array(),$strFile='',$strFileName='',$intSize=0){
	if(!empty($arrFile)){
		if($arrFile["error"]){
			switch($arrFile['error']){
				case 1:
					$strError = '文件超过了 php.ini 中 upload_max_filesize 选项限制的值'.ini_get("upload_max_filesize");
					$intCode = 101;
				break;
				case 2:
					$strError = '文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值';
					$intCode = 102;
				break;
				case 3:
					$strError = '文件只有部分被上传';
					$intCode = 103;
				break;
				case 4:
					$strError = '没有文件被上传';
					$intCode = 104;
				break;
				case 6:
					$strError = '找不到临时文件夹';
					$intCode = 106;
				break;
				case 7:
					$strError = '文件写入失败';
					$intCode = 107;
				break;
			}
		}else{
			if (!in_array($arrFile["type"],$arrType)){
				$strError = '文件类型不符合要求';
				$intCode = 108;
			}else if($intSize>0){
				if($arrFile['size']>$intSize){
					$strError = '文件大小大于限制大小!';
					$intCode = 109;
				}else{
					if(empty($strFileName)){
						$strFileName = rand(0,500).date("YmdHis").'.'.substr($arrFile["name"],strrpos($arrFile["name"],'.')+1);
					}
					$strFile = $strFile.$strFileName;
					move_uploaded_file($arrFile["tmp_name"],$strFile);
					return array('state'=>true,'path'=>$strFile,'url'=>$strFileName,'type'=>$arrFile["type"],'name'=>$arrFile["name"],'size'=>$arrFile["size"]);
				}
			}else{
				if(empty($strFileName)){
					$strFileName = date("YmdHis").'.'.substr($arrFile["name"],strrpos($arrFile["name"],'.')+1);
				}
				$strFile = $strFile.$strFileName;
				move_uploaded_file($arrFile["tmp_name"],$strFile);
				return array('state'=>true,'path'=>$strFile,'url'=>$strFileName,'type'=>$arrFile["type"],'name'=>$arrFile["name"],'size'=>$arrFile["size"]);
			}
		}
	}else{
		$strError = '文件信息为空!';
	}
	return array('state'=>false,'msg'=>$strError,'code'=>$intCode);
}
?>

提交数据


一只大萝北 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP接收处理ajax上传的图片数组
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址