<form action="" method="POST" onSubmit="return chk(this)" enctype="multipart/form-data"> 
传送文件必须加后面那个

解决方案 »

  1.   

    你这样能得到才怪呢.
    提交以后调用chk,
    而chk函数内部的语句都是在提交以前生成的.请理解一下何为PHP,何为javascript,何为html
      

  2.   

    那就是无法扑获了!是吗!必须post到另外一个php页面去判断了!
      

  3.   

    你要搞清楚服务器与客户端的概念先。
    <?
    $fileSize=0;
    $frelatfile=$_FILES['bao'];
    var_dump($frelatfile);
    if($frelatfile['name']!="")
            {
      $fileSize=$frelatfile['size'];
    }
    ?>这些代码是在你服务器上面执行的用javascript当然检测不到的。给你一个js的
    <HTML> <HEAD>     
    <SCRIPT>     
      //   JS   判断文件大小 
      
    function     getFileSize     (fileName)     {     
          
    if     (document.all)     {     
    window.oldOnError     =     window.onerror;                     
    window.onerror     =     function     (err)     {     
    if     (err.indexOf( 'utomation ')     !=     -1)     {     
    alert( '没有访问文件的权限 ');                                     
    return     true;                             
    }                         
    else         
    return     false;                     
    };     
                  var     fso     =     new     ActiveXObject( 'Scripting.FileSystemObject ');     
                  var     file     =     fso.GetFile(fileName);                     
    window.onerror     =     window.oldOnError;     
                  return     file.Size;         }}     
    </SCRIPT>     
    </HEAD>     
    <BODY>     
    <FORM     NAME= "formName "> <INPUT     TYPE= "file "     NAME= "fileName "> <BR>     
    <INPUT     TYPE= "button "     VALUE= "查看文件字节大小 "     ONCLICK= "alert(getFileSize(this.form.fileName.value)) "> <BR>     
    </FORM> </BODY>     
    </HTML>
    一般不建议这样做,因为好多客户端的ie都限制了执行 ActiveXObject( 'Scripting.FileSystemObject ')的权限
    用ajax来做,或是直接在服务端去判断,然后给个提示信息。
      

  4.   

    当然要到另外一个页面了。
    JS是在客户端的。
    PHP在服务端的,这样套在一起用不行。
      

  5.   

    好多热心人哈.
    如果不想跳转页面,可以考虑生成一个隐藏的iframe来提交,呵呵.也可以直接利用一个jquery的ajaxupload插件来完成,不过前提是你得了解一点jquery.只是建议哈.
    我的blog里有篇关于ajaxupload的插件的一点小介绍.
      

  6.   

    function chk(form) 

    <? 
    $fileSize=0; 
    $frelatfile=$_FILES['bao']; 
    var_dump($frelatfile); 
    if($frelatfile['name']!="") 
            { 
      $fileSize=$frelatfile['size']; 

    ?> 
    alert(" <?=$fileSize?>"); 

    </script> 
    这一段在你运行页面的时候就已经生成了,不可能动态改变