PHP复选框值 - 在上传时插入到文件名字段中

时间:2013-01-13 22:25:36

标签: php

对此有任何见解将不胜感激。基本上我有一个文件上传表单,用户可以一次上传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

1 个答案:

答案 0 :(得分:0)

而不是

$_POST['state']

,写

implode("", $_POST['state']).

Implode将数组字段合并为字符串,第一个参数作为分隔符。查看http://php.net/manual/en/function.implode.php