当前位置: 首页 > 技术 > 正文

火车头采集器的PHP插件原理

一直对火车头采集器的PHP插件很艳羡,不知道其原理。以为他是找了一个第三方的PHP库来开发的。

今天有闲,看了下火车头的目录,发现了其中的玄机。

其实很简单,火车头是直接执行 php.exe 来调用 PHP 代码的。

php.exe 有一个 –f 参数,可以直接执行php文件,并且能够接受命令行参数。具体语法:

php [options] [ -f ] file [[—] args…]

火车头调用php插件的步骤:

1. urlencode需要传递的信息。如果信息较短,直接通过命令行参数传递;如果较长,保存为一个 System/Temp/ 目录下的临时文件,将文件名通过命令行参数传递

2. 调用 php.exe –f 执行php插件

3. php插件urldecode命令行参数,获取从火车头程序过来的参数

4. 插件执行操作

5. 将结果serialize并打印,插件程序结束

6. 火车头收到php插件echo的内容,解码,处理。

注意: 火车头中,php.exe 和 php5ts.dll 保存在火车头主程序文件夹的system目录下。php.exe 被修改为 site.exe,php.ini 也被修改为 site.ini。

来源:http://hudeyong926.iteye.com/blog/1073881

相关推荐

《火车头采集器的PHP插件原理》等您坐沙发呢!

发表评论