Home  >  Article  >  Backend Development  >  无法计算上传文件的个数

无法计算上传文件的个数

WBOY
WBOYOriginal
2016-06-23 14:23:43824browse

刚才复制了一段增加文本框节点的JAVASCRIPT
但是现在外观上一按“再添加一张”,会添加一个新的节点
我在提交后的代码加了 echo 'count(($_FILES['img']['name']))';

添加了两个文件,打印出来1,怎么没计算出来?


回复讨论(解决方案)

echo 'count(($_FILES['img']['name']))'; ???
你这个代码就写错了!
所以不排除真实的代码也写错了

那应该怎么写啊?大神赐教啊

echo count(($_FILES['img']['name']));

大神们,不是这的错,其实我用了一个自己写的函数
$num=count($_FILES['img']['name']);  
_break_back($num);
打印没问题,就是它不应该是1,我添加上传一两个文件

哪个值是1,建议贴出代码以供分析。

还是先打印下$_FILES看看吧!

1. 



2. 函数不要用引号包起来,变成字符串了

贴你更多的代码吧

以下是我的代友码:

第一部分javascript部分:用于增加新表单节点

<script> <br /> function AddInput(){ <br /> var input=document.createElement('input');//创建一个input节点 <br /> var br=document.createElement('br');//创建一个br节点 <br /> input.setAttribute('type','file');//设置input节点type属性为file <br /> input.setAttribute('name','files[]');//设置input节点name属性为files[],以 数组的方式传递给服务器端 <br /> document.inpu.appendChild(br);//把节点添加到form1表单中 <br /> document.inpu.appendChild(input); <br /> } <br /> </script>

第二部分 表单部分 


" />


通用

标题

图片再上传一张

验证码

无法计算上传文件的个数



第三部分 PHP程序部分

if ($_GET['action'] == 'add') {
//为了防止恶意注册,跨站攻击
// _check_code($_POST['code'],$_SESSION['code']);

if (!empty($_FILES['img']['name'])){
$fileType=array('image/jpeg','image/pjpeg','image/png','image/x-png','image/gif');//允许上传的文件类型 
$num=count(($_FILES['img']['name']));   //计算上传文件的个数
$_code = date('Y-m-d H:i:s');
for ($i=0;$i {
   if ($_FILES['img']['name'][$i]!=''&&is_uploaded_file($_FILES['img']['tmp_name'][$i]))
   {
    if (in_array($_FILES['img']['type'][$i],$fileType))//判断文件是否是允许的类型
    {
     $_img='img/'.$_FILES['img']['name'][$i];
    move_uploaded_file($_FILES['img']['tmp_name'][$i],$_img);
//     mysql_query("
// INSERT INTO img
// (imgurl,code)
// VALUES
// ('$_img','$_code')
// "); 
     echo '
文件上传成功!';
    } else {
     echo '
不允许上传该文件类型'; 
    }
   } else {
    echo '
没有上传文件';
   }
}
}

include PATH.'includes/check.func.php';

_check_uniqid($_POST['uniqid'],$_SESSION['uniqid']);

$_n = array();
$_n['title'] = $_POST['title'];
$_n['discribe'] = $_POST['discribe'];
$_n['who'] = $_POST['who'];
$_n['telephone'] = $_POST['telephone'];
$_n['place'] = $_POST['place'];

mysql_query("
INSERT INTO local
(title,discribe,img,who,telephone,place,writer,date)
VALUES
('{$_n['title']}','{$_n['discribe']}','$_code','{$_n['who']}','{$_n['telephone']}','{$_n['place']}','{$_COOKIE['mycookie']}',NOW())
"); 
if (mysql_affected_rows() == 1){
_close();
_skip('发布成功!','index.php');
} else {
_break_back("发布失败");
}

} else {
$_SESSION['uniqid'] = $_uniqid = _sha1_uniqid();
}

这是你初始的控件
 

这是你附加的控件
input.setAttribute('name',' files[]');//设置input节点name属性为files[],以 数组的方式传递给服务器端

这是你处理的控件
$num=count(($_FILES[' img']['name']));   //计算上传文件的个数

应该很清楚了吧?细心一点嘛

五体投地,感谢小大神

就是敢问小大神现在比较流行的多图上传都怎么做的

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn