我所知道的两种办法是1、用户点击导出的时候,PHP发送EXCEL类型文件头,输出内容,这样用户就可以保存到本地。但这个办法目前满足不了我的需求,因为当用户导出的数据过大时,因为PHP内存的限制而失败。。所以考虑到使用分页处理,方法22、使用分页访问数据,创建文件,逐条插入,但这种方法的话,文件会保存在服务器里。。这只是我初步认识到的,不知道有什么方法可以解决,望大侠们不要见笑。。求指教。。

解决方案 »

  1.   

    你导出的文件有多大。会超出内存限制。把内存限制改大点呢?试试 PHPEXCEL 这个类看行不行。
      

  2.   

    文件会有多大呀!可以在单页面设置一下内存限制呀!再者你可以把文件中不用的变量内存给释放掉,如果一个页面请求要处理20个sql查询,每个sql查询返回10个sql结果,如果一条row有10K, 那么这个页面到处理结束时就要增加到 10K*10*20=2M的数组分配,这还不算有时候我们需要最数组进行复制,所以优化一下代码。内存应该是足够了!
      

  3.   

    举个例子,查询注册会员数据,SQL查询只需要一次,但返回的结果有20万条,那大概要多少内存才够呢?
      

  4.   

    别一下把execl读到内存里, 读一点发一点。
      

  5.   


    去了解了PHPEXCEL,尝试使用过,但好像也实现不了我的需求,实在不行的话,只能保存在服务器了,然后提供链接给用户下载到本地。。