你怎么知道表但没有提交,你看看$input 变量是否存在.
至于enctype="multipart/form-data,不可以去掉的.

解决方案 »

  1.   

    是否上传,只要测试一下就可以了,看看变量又没有穿过去,至于enctype="multipart/form-data 我相适应该药的。
    上传还要涉及到php.ini.apache里面的配置文件httpd.conf,你看看,
    如果还有什么问题请与我联系
      

  2.   

    你自己弄错了
    <form method="post" enctype="multipart/form-data" action="new.php?action=newtopic&fid=10" >
    <input type=file name="input">
    </form> 
      

  3.   

    多谢大家!我在我本机上调试没问题,可是传到主页空间上就不行了。
    请问lanhuizi,该怎样配置?多谢!
      

  4.   

    主页空间支持php的文件上传功能吗?
      

  5.   

    还使用ftp吧
    <html>
    <head><title>文件上传</title>
    <body>
    <form ENCTYPE="multipart/form-data" ACTION="upload.php" METHOD="POST">
    <input type="hidden" name="MAX_FILE_SIZE" VALUE="100000">
    <div align="center">
    <center>选取文件:
    <input type="file" name="userfile">
    <input type="submit" name="上传">
    </center>
    </body>
    </html>这是upload.php文件
    <?
    $con=ftp_connect("yourhost",21);
    ftp_login($con,"webuser","password");
    ftp_put($con,$userfile,FTP_BINARY);
    echo ("文件$userfile已经上传到服务器了!");
    ftp_quit($con);
    ?>
      

  6.   

    多谢各位!
    bombshell,能不能限制文件类型那?
      

  7.   

    要用enctype="multipart/form-data"浏览器必须是:Netscape3.0或IE4.0以上。
      

  8.   

    <INPUT TYPE=FILE>的VALUE属性是只读的,但是这也足以进行校验文件类型了,因为文件上传必须是POST方式,这样要比GET安全,不必考虑URL提交的可能,这是在IE端,另外,服务器端,UPLOAD的时候,在上面那段示例程序中,$userfile_name,这个变量是保存文件名的变量,你可以通过PHP的程序校验上传的文件名~
      

  9.   

    其实UPLOAD不仅仅可以使用PHP的FTP函数来连接FTPSERVER,如果你想直接保存到WEB服务器所在计算机,这样做显得笨拙,
    文件上传后被暂时保存到/tmp目录下(依你的PHP.INI不同而不同),你可以通过执行一条系统命令,将上传的文件COPY到目标目录就可以了
    exec("cp $userfile /***"),这样的话要注意权限问题,应该确保你PHP绑定用户对目标目录有写入权限,通常PHP运行的权限非常低,所以一个简单办法就是,降低目标目录的访问权限 chmod 777 /目标目录
      

  10.   

    可能对方服务器不支持web上传