对此有任何见解将不胜感激。基本上我有一个文件上传表单,用户可以一次上传5个文件。在上传时,我添加了3个字母和一个时间戳。我想在检查文件名时插入复选框值:
<form id="form" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" enctype="multipart/form-data">
<input name="file_up[]" type="file" class="file_up" size="16" maxlength=" " />
CA<input name="state[]" type="checkbox" id="CA" value="CA" checked="checked" />
NV<input name="state[]" type="checkbox" id="NV" value="NV" />
UT<input name="state[]" type="checkbox" id="UT" value="UT" />
AZ<input name="state[]" type="checkbox" id="AZ" value="AZ" />
<input name="file_up[]" type="file" class="file_up" size="16" maxlength=" " />
CA<input name="state[]" type="checkbox" id="CA" value="CA" checked="checked" />
NV<input name="state[]" type="checkbox" id="NV" value="NV" />
UT<input name="state[]" type="checkbox" id="UT" value="UT" />
AZ<input name="state[]" type="checkbox" id="AZ" value="AZ" />
对于每个文件字段上传,有5个这样的块。其他3个有state2 []等。
在文件名部分:
$updir . '/'.'337-'.implode("", $_POST['state']).$timestamp. $nume_f
如何才能获得每行的“状态”值?因此,如果在第1行选择了CA,只需将该CA添加到第一个文件,而不是其他文件。它没有分隔复选框行。我想可能会将第二组复选框设置为state1,然后设置为第3组state2等等。
文件循环是:
if (isset($_FILES['file_up'])) {
for($f=0; $f<count($_FILES['file_up']['name']); $f++) {
$nume_f = $_FILES['file_up']['name'][$f];
感谢第1篇帖子的回复,这是第3次编辑。
思考?谢谢! - 兰迪
EDIT: The solution was to tie $f=0, $f=1, etc to a new variable:
if($f == 0)$nume_g = ($_POST['state1']);
if($f == 1)$nume_g = ($_POST['state2']); etc..
因此每个复选框组都与文件名绑定。感谢所有的输入,Randy
答案 0 :(得分:0)
而不是
$_POST['state']
,写
implode("", $_POST['state']).
Implode将数组字段合并为字符串,第一个参数作为分隔符。查看http://php.net/manual/en/function.implode.php