function fileextname($name){
$retval="";
$pt=strrpos($name, ".");
if ($pt) $retval=substr($name, $pt+1, strlen($name) - $pt);
return ($retval);
}

解决方案 »

  1.   

    如果我一个.exe伪装成.gif,那么问题就大了
    判断文件的类型,用一个MIME对照表添加文件扩展名。
    switch ($_FILE['myfile']['type']){
                case "image/gif":
                       $fullName = $_FILE['myfile']['name'].".gif";
                       break;
                case "image/pjpeg" :
                case "image/jpeg":
                      $fullName = $_FILE['myfile']['name'].".jpg";
                      break;
                .....................
    }
    安全,我的上传就这么做的。
      

  2.   

    .tar.gz
    算不算是后缀呢 。
    我同意onlysoft(无边梦想) 的思想取文件类型,而不是取后缀。