扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
php导出大量数据到Excel,可以通过生成多个Excel文件,然后压缩成压缩包解决。
创新互联作为成都网站建设公司,专注成都网站建设公司、网站设计,有关成都企业网站定制方案、改版、费用等问题,行业涉及成都宣传片制作等多个领域,已为上千家企业服务,得到了客户的尊重与认可。
方案是:假如我们数据库有10w条数据,每2000条数据生成一个Excel文件,这样每次只要从数据库里查询出2000条数据即可,一定要分页去查询。
原因:主要是数据库性能和写文件性能。分页查询可以解决数据库压力的问题, 生成多个文件可以解决单个文件太大,后期维护Excel文件的问题。
要注意的:
1. 在导出逻辑文件开头,一定要声明 set_time_limit(0) ,防止脚本超时;
2. 每个文件生成后,适当的sleep一下,让程序休息一下下;
3. 因为一次导出最后要将生成的多个Excel文件打包成一个压缩包,所以要删除掉生成的Excel文件,节省服务器存储空间;
下面是我实际工作中,写的一个php导出大量数据到Excel的代码,你可以参考一下:
没环境是不能运行项目的,你要先安装环境,才能运行。
至于打包,你只要把项目文件打包,还有把相应数据库导出成.sql文件。
在新环境把项目文件放到对应web目录,把.sql文件导回到新数据库,最后不要忘了在新环境的项目要修改新的数据库连接帐号密码。
1关于PHP打包
把PHP解释器和PHP项目打包成一个安装包完全没有问题的,我甚至把PHP解释器打包到Android手机上跑都没问题.因为PHP官方提供了Windows版本的二进制包,所以连自己编译这一步都省了,为了精简PHP解释器,你可以把你不需要的扩展都删除掉,比如intl扩展及其依赖的ICU,精简后打包估计解释器能小于5个MB.因为PHP内置了HTTP服务器和SQLite数据库,所以客户端连Apache和MySQL也不依赖了,直接就能跑PHP项目,而且还省资源.
2.关于PHP代码保护
PHP7的opcache支持用opcache.file_cache导出PHP脚本对应的二进制opcode,这些opcode是跟操作系统和PHP解释器版本相关的,能起到一定的代码保护的作用.另外,Zend
Guard和ionCube也提供了付费的PHP代码加密服务.
3.授权
比如可以在加密过的PHP代码里判断$_SERVER['SERVER_NAME'],如果不是授权时绑定的域名,就直接拒绝服务.如果还有什么不懂不明白的,你可以和我在后盾人看看教材找找答案,时间久了,就都清楚了,希望能帮到你
首先把数据库导出成sql文件(可以使用phpmyadmin导出,也可以使用mysqldump, 命令为mysqldump -uxxx -pxxx 数据库名 文件名.sql),放在/(也有可能是其它目录)下面,然后整个打包
估计你的目的是迁移
再次移出后,把数据导入新的数据库,上传文件,并设定权限(如果是租用的空间就没必要了,因为运行apache的帐号拥有此权限,设置配置文件(如果有的话,没有你就只能改原文件了)
接下来就是可能的问题的处理
至此,完成
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流