同意楼上的,用这种方法获取数据比较好
$_FILES['file1']['type'])
move_uploaded_file($f['tmp_name'],$fname);也换成这样!

解决方案 »

  1.   

    还是不行上传一个叫200407310741111660.gif的文件他就会生成一个Array.gif
      

  2.   

    可能是你的操作系统不支持这种命名格式,比如linux就不支持。包括一些以大写字母命名的文件也有支持。
      

  3.   

    不光是数字文件名吧?!
    你有
    $f=& $HTTP_POST_FILES['file1']; //$f是一个数组
    ...
    $fname = $f . ".gif"; //这样写只会是Array.gif,因为$f是数组
    ...
    应写作
    $name = $f['name'];另外
    $f=& $HTTP_POST_FILES['file1'];
    $dest_dir='uploads';
    $fdt= date('sYmdHis');
    $dest=$dest_dir.'/'.$fdt;
    switch($HTTP_POST_FILES['file1']['type']){
    case "image/pjpeg":
             $fname = $dest . ".jpg";
             break;
          case "image/gif":
             $fname = $f . ".gif";
            break;
          case "image/x-png":
             $fname = $dest . ".png";
             break;
         default:      
    }
    这一段,毛病不少。最后产生的文件名的格式并不统一