日期:2014-05-17  浏览次数:20575 次

php中POST一个很大的数据后页面无响应
数据比较大,有2.3MB,实际应用中可能更大
ini_set('memory_limit', '24M');
ini_set('post_max_size', '240M');
这些我都设置了,保存到文件中是没问题,但是由于需要用户输入到表单,所以没法直接保存在文件中,上传文件的话,用户体验比较差,我希望通过POST传过去处理。

通过上面两句设置,字符串的长度可以达到20多M大小,所以不是这儿的问题

发送数据页面 demo.php:
<?php
echo  "<input type='hidden' name='tex' value='";
for($i=0; $i<100000; $i++) {
echo "这是大数据!!!";
//$str_info .= "这是大数据!!!";
//$len += strlen("这是大数据!!!");
}
echo "'/>";
?>
接收数据页面 save.php:
$info = $_POST['tex'];

点击提交过后,save.php页面没有显示任何东西,这里只给了部分的代码,不是代码的问题
我把循环的那个100000改成10000就可以正常POST并显示。
希望大家给个办法,小弟万分感谢 ╯﹏╰

------解决方案--------------------
1、
ini_set('memory_limit', '24M');
ini_set('post_max_size', '240M');
奇怪的设置,居然上是在小的可用空间里使用大内存。即便现在不出错,以后也会出错

2、
100000 不行,10000 行
不是内存不足,就是超时

3、承载大内容的表单控件是什么?
什么控件能加载那么大的数据?
------解决方案--------------------
引用:
1、
ini_set('memory_limit', '24M');
ini_set('post_max_size', '240M');
奇怪的设置,居然上是在小的可用空间里使用大内存。即便现在不出错,以后也会出错

2、
100000 不行,10000 行
不是内存不足,就是超时

3、承载大内容的表单控件是什么?
什么控件能加载那么大的数据?
  ……


第一个的确设置反了。memory_limit至少要大于等于post_max_size的值。
------解决方案--------------------

//别超时
Set_time_limit(0);