php上传文件的时候,在页面如果输入一个大文件(例如mp3文件),后台直接用php输出$_POST ,里面的所有表单元素都会被清空,不知道为什么,php.ini 的upload_max_filesize 我也做过修改,不管用,php版本是5.2.17,有人知道是怎么回事么,为什么post被清空了

解决方案 »

  1.   

    没有报错?修改php.ini:
    error_reporting = E_ALL
    display_errors = On
    有可能是超过了内存限制:
    memory_limit = 
      

  2.   

    报错了吧。超过了post_max_sized的大小。
      

  3.   

     没有任何报错
    error_reporting(E_ALL);
    ini_set('upload_max_filesize','20M');
    ini_set('post_max_size','100M');
    ini_set('memory_limit','200M');
    ini_set('display_errors','ON');
    print_r($_POST);这么设置也不管用,输出来的还是空
      

  4.   

    很遗憾。ini_set()不能设置 post_max_size upload_max_filesize 的值。估计是超过了 post_max_size的值。你可以:echo ini_get('post_max_size');看是多少。
      

  5.   

    ini_set('upload_max_filesize','20M');
    ini_set('post_max_size','100M');
    这两句是无效的,因为在执行这两句时,表单的提交已经完成了你只 print_r($_POST); 并不能说明什么问题,因为除了 file 控件,表单里可能没有其他东西
    你需要 print_r($_FILES); 来查看究竟出了什么问题