php中关于判断上传文件格式

$kuozhan=array('jpg','gif','doc');foreach($val['tmp_name']as$key=>$us){foreach($val['... $kuozhan=array('jpg','gif','doc');
foreach($val['tmp_name'] as $key=>$us){
foreach($val['name'] as $key=>$ns){
$arr=pathinfo($val['name'][$key]);
if(!in_array($arr['extension'],$kuozhan)){
echo " 上传失败,格式错误!";
return false;
}else{
上传程序
}
}
}
if这里有问题
如果第一循环出来的扩展名存在于$kuozhan数组中 那么就会执行下面的else ,第二次如果不是就只上传了第一次的文件。现在,要的效果是循环出来的字符串要同时存在数组中规定的值 才执行下面的else,也就是说循环出来的扩展名有一个不符合$kuozhan数组里的,都不执行上传程序的,求解?
展开
 我来答
阳光上的桥
2014-07-03 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65794
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部

那只有把这段代码写两次,第一次判断是否合法(不要else),第二次执行上传(不要if),例如:

$kuozhan=array('jpg','gif','doc');
foreach($val['tmp_name'] as $key=>$us){
     foreach($val['name'] as $key=>$ns){
     $arr=pathinfo($val['name'][$key]);
     if(!in_array($arr['extension'],$kuozhan)){
     echo " 上传失败,格式错误!";
     return false;
     }
}
foreach($val['tmp_name'] as $key=>$us){
     foreach($val['name'] as $key=>$ns){
     $arr=pathinfo($val['name'][$key]);
    上传程序
}}
YRS账号
2014-07-03 · TA获得超过851个赞
知道小有建树答主
回答量:362
采纳率:0%
帮助的人:428万
展开全部
$kuozhan=array('jpg','gif','doc');
$flag = 1; // 判断上传文件是否格式正确,正确则为1 , 有一个格式错误则0
// 循环,检测格式是否错误

foreach($val['tmp_name'] as $key=>$us){
foreach($val['name'] as $key=>$ns){
$arr=pathinfo($val['name'][$key]);
if(!in_array($arr['extension'],$kuozhan)){
echo " 上传失败,格式错误!";
$flag = 0; // 格式有错,flag为0

break;

}
}
}
// 上传文件
if ($flag == 1) {
循环上传文件

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式