刚才复制了一段增加文本框节点的JAVASCRIPT
但是现在外观上一按“再添加一张”,会添加一个新的<input text="file" name="img[]">节点
我在提交后的代码加了 echo 'count(($_FILES['img']['name']))';添加了两个文件,打印出来1,怎么没计算出来?
但是现在外观上一按“再添加一张”,会添加一个新的<input text="file" name="img[]">节点
我在提交后的代码加了 echo 'count(($_FILES['img']['name']))';添加了两个文件,打印出来1,怎么没计算出来?
你这个代码就写错了!
所以不排除真实的代码也写错了
$num=count($_FILES['img']['name']);
_break_back($num);
打印没问题,就是它不应该是1,我添加上传一两个文件
<input text="file" name="img[]">
<input type="file" name="img[]">2. 函数不要用引号包起来,变成字符串了贴你更多的代码吧
function AddInput(){
var input=document.createElement('input');//创建一个input节点
var br=document.createElement('br');//创建一个br节点
input.setAttribute('type','file');//设置input节点type属性为file
input.setAttribute('name','files[]');//设置input节点name属性为files[],以 数组的方式传递给服务器端
document.inpu.appendChild(br);//把节点添加到form1表单中
document.inpu.appendChild(input);
}
</script>
<input type="hidden" name="uniqid" value="<?php echo $_uniqid ?>" />
<input type="hidden" name="max_file_size" value="1000000" />
<dl class="simple_grey_dl" >
<dt>通用</dt>
<dd><span>标题</span><input type="text" name="title" /></dd>
<dd><span>图片</span><input type="file" name="img[]" /><a href="#" onclick="AddInput()">再上传一张</a></dd>
<dd><span>验证码</span><input type="text" name="code" /></dd>
<dd><img src="identity_code.php" id="code" name="code" /></dd>
<dd><input type="submit" class="submit" value="发布" /></dd>
</dl>
</form>
//为了防止恶意注册,跨站攻击
// _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 '<br/>文件上传成功!';
} else {
echo '<br/>不允许上传该文件类型';
}
} else {
echo '<br/>没有上传文件';
}
}
}
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 type="file" name="img[]" /> 这是你附加的控件
input.setAttribute('name','files[]');//设置input节点name属性为files[],以 数组的方式传递给服务器端这是你处理的控件
$num=count(($_FILES['img']['name'])); //计算上传文件的个数应该很清楚了吧?细心一点嘛