首頁  >  文章  >  後端開發  >  无法计算上传文件的个数

无法计算上传文件的个数

WBOY
WBOY原創
2016-06-23 14:23:43822瀏覽

刚才复制了一段增加文本框节点的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']));   //计算上传文件的个数

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

五体投地,感谢小大神

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn