当前位置:Gxlcms > PHP教程 > 无法计算上传文件的个数

无法计算上传文件的个数

时间:2021-07-01 10:21:17 帮助过:6人阅读

刚才复制了一段增加文本框节点的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部分:用于增加新表单节点



第二部分 表单部分

第三部分 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<$num;$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'])); //计算上传文件的个数

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

五体投地,感谢小大神

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

人气教程排行