十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
php处理数据时会有一个等待时间,就是所说的超时时间,而且如果使用mysql的话,它也有一个超时时间,运行一串代码时间如果超过配置文件的时间,会被中断不运行。第一种你可以修改php配置文件timeout的运行时间,第二你可以分批处理大量数据,注意是分批处理,就OK了。
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了康保免费建站欢迎大家使用!
1、首先我们准备一个含有数据的Excel表格,表头和数据表中的表字段相对应。
2、在ThinkPHP中引入PHPExcel类库。
3、然后我们编写导入的PHP代码。
4、然后我们编写导出的PHP代码。
5、然后我们进行导出测试发现可以导出即可。
这个需要配合js,打开一个html页面,首先js用ajax请求页面,返回第一个页面信息确定处理完毕(ajax有强制同步功能),ajax再访问第二个页面。(或者根据服务器状况,你可以同时提交几个URL,跑几个相同的页面)
参数可以由js产生并传递url,php后台页面根据URL抓页面。然后ajax通过php,在数据库或者是哪里设一个标量,标明检测到哪里。由于前台的html页面执行多少时候都没问题,这样php的内存限制和执行时间限制就解决了。
因为不会浪费大量的资源用一个页面来跑一个瞬间500次的for循环了。(你的500次for循环死了原因可能是获取的数据太多,大过了php限制的内存)
不过印象中curl好像也有强制同步的选项,就是等待一个抓取后再执行下一步。但是这个500次都是用一个页面线程处理,也就是说肯定会远远大于30秒的默认执行时间。
if ($strleng100){
//如果大于100条就每次写入100,休息1秒,然后继续写,直到写完为止
$write_count = floor($strleng/100);
while ($write_count 0){
for ($i=0;$i100;$i++){
echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3)";//写100次就休息
}
//echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);";这样可以一次插入多条数据,效率更高
//参考
$write_count -=1 ;
sleep(1);
echo '休息1秒';
}
}
$sql = "insert into myorder (pid,amount,ordernumber,time,uid,status) VALUES ";
foreach ($ShoppingCart as $k = $v){
$sql .= "(".$v['pid'].",".$v['amount'].",'$ordernumber','$time','$uid','$status'),";
$sql = substr($sql, 0,strlen($sql)-1);
$res = mysql_query($sql,$conn);
if(!$res) return false;
}
简介:可以利用工具软件导出成Excel文件
工具原料:Apache+php+mysql网站运行环境,phpMyAdmin v4.6.2
1、下载phpMyAdmin v4.6.2软件后解压放在网站根目录
2、用root用户和密码登入phpMyAdmin,在左边栏点击要导出的数据库,然后点击要导出的数据表,最后点击导出如图所示。
3、进入导出页面后如图按图中红色标注的操作
4、另外还要注意选择的是要保存的文件的字符集:如图所示才能保证保存出来的文件不会出现乱码
5、最后点击执行按钮,OK.