网站建设资讯

NEWS

网站建设资讯

php采集数据库怎么写 PHP数据采集

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的另一个队列里。

(3)再写一个download-data.php,作为下载图片的worker,同样,你启动10个20个并发随便你。这个进程也常驻内存运行,从gearman worker的图片数据队列里取数据出来,下载图片

4、常驻进程的话,就是在代码里写个while(true)死循环,让它一直运行好了。如果怕内存泄露啥的,你可以每循环10万次退出一下。然后在crontab里设置,每分钟检查一下进程有没有启动,比如说这样启动3个process-data worker进程:

* * * * * flock -xn /tmp/process-data.1.lock -c '/usr/bin/php /process-data.php /dev/null 21'

* * * * * flock -xn /tmp/process-data.2.lock -c '/usr/bin/php /process-data.php /dev/null 21'

* * * * * flock -xn /tmp/process-data.3.lock -c '/usr/bin/php /process-data.php /dev/null 21'

不知道你明白了没有

php数据库表格怎样填写

字段(必填):就是自己起个字段名(列名),例如id,name等这样的字符串.(注意:字段名不能相同).

类型(必选):这系统提供了很多。一般常用的也没几个

整型int,字符串型varchar,和char,还有浮点型double,文本text,时间timestamp.

长度值(建意给定长度):也就是给上面的类型中限定一个长度。比如varchar(30),int(6),在长度里直接写整型的数值就行了.(时间类型不需要提供长度)。

整理(如果建库已经选好则不用选了。否则必选):(这个是数据表的字符集)这里基本上就两个常用.(utf8_general_ci和gb2312_chinese_in)。

属性:一般不选。(1二进制。2无符号整型,3无符号整型,不够位数则补0,4在更新数据时,更新当前时间戳[基本上用于timestamp])

空:也就是这个字段的值是否可以为空.

auto_increment:自增长.一般主键会用且为整型时。

php用正则采集到多个数据如何写入数据库 现在我用php正则采集到了,商品名称title:1,2,3,...n;商品id...

个人建议采集到的数据存储为二维数组,其中商品id是唯一的,所以将id作为键值,然后每个键值对应的是一个一次包含title,price等数据的二维数组,这样采集完成后,可以将这个二维数组遍历循环插入数据库,这样也不容易出现错误

比如其中一个商品id为1,标题为“牙刷”,价格为$2,就这样写入数组$arr[1]=array("牙刷","$2")

用php将数据写进数据库中

如果你会点php基础我可以给你点参考意见

一个是,你这个文件肯定是txt格式的

$fp = fopen('xxx.txt','r');//用只读方式打开文件

$getsource = fgets($fp);//读取第一行,主要是用于去除第一行

while(!feof($fp)){

$getsource = fgets($fp);//获取有用数据

$insource = explode(" ", $getsource);//把一行文字变成数组,按符号分割

/*---------------下面写数据存储的sql-------------------*/

......

/*---------------上面写数据存储的sql-------------------*/

}

我默认为你对php和mysql是熟悉的,不然你也不会打算用php写这个程序,我只提供你点思路,php对文件操作不熟悉的话你可以参考下这篇文章

;id=77class=2

希望对你有帮助

php如何写入数据库

数组吧,直接把数组转字符串啊

implode() 函数返回由数组元素组合成的字符串。(适合一维数组)

$arr = array('Hello', 'World', 'I', 'love', 'Shanghai');

1 echo implode(" ",$arr);//加空格

the result : Hello World I love Shanghai

2 echo implode(",",$arr);//加逗号

the result : Hello,World,I,love,Shanghai

转换数组为字符串后插入数据库就可以了。

由网页提交的表单提交写入数据库 PHP源代码该怎么写

把下面的代码保存为post.php

?

$conn = mysql_connect("localhost","11111","22222");

$action = $_POST['action'];

if($action == 'send'){

$username = $_POST['username'];

$password = $_POST['password'];

mysql_select_db("333333",$conn);

$sql = "INSERT INTO player (username,password) VALUES ('$username','$password')";

$result = mysql_query($sql,$conn);

}

?

html

body

form method="post" action="post.php"

input type="text" name="username"

input type="text" name="password"

input type="hidden" name="action" value="send"

input type="submit" name="Submit" value="提交"

/form

/body

/html


本文题目:php采集数据库怎么写 PHP数据采集
文章出自:http://cdweb.net/article/dododph.html