input type="file" name="picfile">改为input type="file" name="picfile[]">在add.php中使用 var_dump( $_FILES['picfile'] )可以查看具体信息!

解决方案 »

  1.   

    <input type="file" name="picfile"> 换成<input type="file" name="picfile[]">
    要不然都是一个名字,后面只能获取最后一个附件.add.php$arrAttachment = $_FILES['picfile'];
    if(is_array($arrAttachment))
    {
    //获得系统路径,如果没有则建立
    $tmpDir = _ATTACH_DIR . date('ymd') . "/" . $id . "/";
            if(!is_dir($tmpDir))
    {
    _mkdir($tmpDir);
    }
    $arrFileName = $_FILES['attachments']['name'];
    $arrTmpName = $_FILES['attachments']['tmp_name'];
    $arrError = $_FILES['attachments']['error'];
    foreach($arrFileName as $key=>$value)
    {
    if($arrError[$key] != 0)
    {
    echo $arrError[$key];
    continue;
    }
    $strExtend = "." .  pathinfo($value, PATHINFO_EXTENSION);
    $strSrcFileName = $arrTmpName[$key];
    $strClientFileName = $arrFileName[$key];
    if(preg_match("/\.(exe|php|js|htm|html|bat)/i", $strExtend))
    {
    echo $strExtend . "<br/>";
    //unlink($strSrcFileName);
    continue;
    }
    $strFileName = getRandomName() . $strExtend;
    $strDestName = $tmpDir . $strFileName;
    move_uploaded_file($strSrcFileName, $strDestName);
                    //入库
    }
    }
    function getRandomName()
    {
        $strTime = date('YmdHis') . rand(1,1000);
        return md5($strTime);
      

  2.   

    $arrFileName = $_FILES['attachments']['name'];
    $arrTmpName = $_FILES['attachments']['tmp_name'];
    $arrError = $_FILES['attachments']['error'];
    这三行改成
    $arrFileName = $arrAttachment['name'];
    $arrTmpName = $arrAttachment['tmp_name'];
    $arrError = $arrAttachment['error'];