大数据php代码 php如何处理大数据( 三 )


小结
学习一门语言的关键 , 需要我们在平静地心绪下 , 带着浓厚的兴趣去学习,在比较中学习 , 在历史中学习 。
有时候感觉还是不够通畅,先做知识的搬运工也是不错 。另外,不断的实践会让我们的信心更足 。
求关于php excel导入大数据到mysql的解决办法下载 PHPExcel
require_once( './PHPExcel/IOFactory.php');
$filePath = 'D:/xxx.xlsx'; //excel 文件名
$objReader = new PHPExcel_Reader_Excel2007();//具体查看(Documentation/Examples/Reader/exampleReader01.php)
$objPHPExcel = $objReader-load($filePath);
$sheetData = https://www.04ip.com/post/$objPHPExcel-getActiveSheet()-toArray(null,true,true,true);
$insql = 'insert into 表名(x,x,x) valeus';
//遍历数组 $sheetData
//如果有标题 先删除 unset($sheetData[1]);
foreach($sheetData as $k = $data){
$insql .= '('.$data['A'].','.$data['B'].','.$data['C'].'),';
//一次插入100条数据减少数据库压力
if(($k+1 / 100) == 0){
$insql = rtrim($insql,',').';'; //将最后大数据php代码的逗号替换成分好
//插入数据库 并且重置 字符串 $insql
//或者保存到文件中 利用source 命令插入数据库
}
}
几种常用PHP连接数据库的代码示例PHP连接数据库之PHP连接MYSQL数据库代码
?php
$mysql_server_name='localhost';
//改成自己的mysql数据库服务器
$mysql_username='root';
//改成自己的mysql数据库用户名
$mysql_password='12345678';
//改成自己的mysql数据库密码
$mysql_database='mycounter';
//改成自己的mysql数据库名
$conn=mysql_connect($mysql_server_name,
$mysql_username,$mysql_password,
$mysql_database);
$sql='CREATE DATABASE mycounter
DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
';
mysql_query($sql);
$sql='CREATE TABLE `counter`
(`id` INT(255) UNSIGNED NOT NULL
AUTO_INCREMENT ,`count` INT(255)
UNSIGNED NOT NULL DEFAULT 0,PRIMARY KEY
( `id` ) ) TYPE = innodb;';
mysql_select_db($mysql_database,$conn);
$result=mysql_query($sql);
//echo $sql;
mysql_close($conn);
echo "Hello!数据库mycounter已经成功建立!";
?
PHP连接数据库之PHP连接ACCESS数据库代码方法
?
$conn = new com("ADODB.Connection");
$connstr = "DRIVER={Microsoft
Access Driver (*.mdb)};
DBQ=". realpath("data/db.mdb");
$conn-Open($connstr);
$rs = new com("ADODB.RecordSet");
$rs-Open("select *
from szd_t",$conn,1,1);
while(! $rs-eof) {
$f = $rs-Fields(1);
echo $f-value;
$rs-MoveNext();
}
?
php采集大数据的方案1、建议你读写数据和下载图片分开,各用不同的进程完成 。
比如说,取数据用get-data.php,下载图片用get-image.php 。
2、多进程的话,php可以简单的用pcntl_fork() 。这样可以并发多个子进程 。
但是我不建议你用fork,我建议你安装一个gearman worker 。这样你要并发几个,就启几个worker,写代码简单,根本不用在代码里考虑thread?。?process等等 。
3、综上,解决方案这样:
(1)安装gearman worker 。
(2)写一个get-data.php,在crontab里设置它每5分钟执行一次,只负责读数据 , 然后把读回来的数据一条一条的扔到 gearman worker的队列里;
然后再写一个处理数据的脚本作为worker,例如叫process-data.php,这个脚本常驻内存 。它作为worker从geraman 队列里读出一条一条的数据,然后跟你的数据库老数据比较,进行你的业务逻辑 。如果你要10个并发,那就启动10个process-data.php好了 。处理完后,如果图片地址有变动需要下载图片 , 就把图片地址扔到 gearman worker的另一个队列里 。

推荐阅读