例如:        echo"<td align='center' bgcolor='#d0e0f4'>修改大图</td>";
        echo"<td align='left'><input type='file' name='file$d.[]' size='24'></td>";
        echo"</tr>";
        echo"<td align='center' bgcolor='#d0e0f4'>修改小图</td>";
        echo"<td align='left'><input type='file' name='file$d.[]' size='24'></td>";
        echo"</tr>";
$d为变量,要同时修改2个图的话,请问这样子命名name对吗?如果对的话,    $filename2 = $_FILES["file$d"]["name"];这个$filename2对吗?
不对的话具体该怎么做?麻烦高手指教下 

解决方案 »

  1.   

    file$d.[]最好把小数点去了,,,,数据接收的时候,会替换成“_”了吧
      

  2.   

    $filename = $_FILES["file$d"]["name"];
    $filetmp_name = $_FILES["file$d"]["tmp_name"];
      

  3.   

    name='file$d.[]'和name='file{$d}[]'这样子的时候,$filename = $_FILES["file$d"]["name"]是为空的,
    name='file$d[]'这样子是错误的。$d我是用for设了循环的
      

  4.   

    确认表单
    <form action='' method='POST' enctype='multipart/form-data'>//enctype指定了同意,name='file{$d}[]'//这是正确写法之一,
    然后提交一次,试试print_r($_FILES);exit;看看结果
      

  5.   

    是的,2楼的写法是对的,刚才我搞错了
    $filename = $_FILES["file$d"]["name"];这样子输出$filename[0]和$filename[1]都可以。$str = explode(".",$filename);再输出$str[1],为什么就没数据了呢?
      

  6.   

    array explode ( string separator, string string [, int limit] )第一个参数分隔符,第二个参数是 字符串型。。你传入个数组……