建立我们第一个PHP文件:

你可以用记事本,可以用Dreamweaver也可以用专用PHP编辑软件
取名字为 commom.php
内容为
————————
<?php
include ‘./config.php’;
include ‘./global.php’;
?>———————–
这个文件有什么用?就是在以后操作中直接 inclue 这个文件就可以用到所有的函数啊什么的
然后config.php是设置 URL 刷新时间 等等
global.php是 所有函数的文件
也就是今天要给教给大家的!
第一个个函数 open
————-
function open($file,$type=”){
         global $fromurl,$referer;
         $cachename=$file;
                 if($type){
                         $file=$fromurl.’/’.$type.’/’.$file;
                 }else{
                         $file=$fromurl.$file;
                 }

if($open=file($file)){
                                         $count=count($open);
                                         for($i=0;$i<$count;$i++){
                                                 $theget.=$open[$i];

}
                                        
                                 }else{
                                         die(‘请求过多,超时,请刷新’);
                                 }
                
                
         return $theget;

}
—————-
解释过了,连接地址就2中请求,根目录,和 文件夹/名字
函数怎么用法等等,不多说了.建议大家下载译本PHP中文手册看看.
第二个函数
根据设置时间更新cache目录文件函数 update
—————
function update($file,$type=”){
         global $timestamp,$flush;
         if(!file_exists(“cache/$file”)){
                 if($type){
                         $data=open($file,$type);
                 }else{
                         $data=open($file);
                 }
                
                 writetofile(“cache/$file”,$data);
         }else{
                 $lastflesh=@filemtime(“cache/$file”);
                
        
        
                 if($lastflesh + ($flush * 60) < $timestamp ){
                         if($type){
                                 $data=open($file,$type);
                         }else{
                                 $data=open($file);
                         }
                         writetofile(“cache/$file”,$data);
                 }
         }

}
——–
简单解释
$data=open($file,$type);就是用到上面的 open函数了
如果我们用 udate(“index.htm”);
那不就是用到了 update函数吗? 明白吗?
上面出现了writetofile函数 下面是代码
——————————
function writetofile($file_name,$data,$method=”w”) {
         if($filenum=fopen($file_name,$method)){
                 flock($filenum,LOCK_EX);
                 $file_data=fwrite($filenum,$data);
                 fclose($filenum);
                 return $file_data;
         }else{
                 return false;
         }
}———————————
切割字符函数
————————
function cut($file,$from,$end){

$message=explode($from,$file);
         $message=explode($end,$message[1]);
return         $message[0];
}
—————————-
读取函数
———————
function readfromfile($file_name) {
         if($filenum=fopen($file_name,”r”)){
                 flock($filenum,LOCK_SH);
                 $file_data=fread($filenum,filesize($file_name));
                 fclose($filenum);
                 return $file_data;
         }else{
                 return false;
         }
        
}
————————————-
把所有函数写成一个文件 保存起来 取名字叫 global.php
内容如下:
————————————————————————————————
<?php
function open($file,$type=”){
         global $fromurl,$referer;
         $cachename=$file;
                 if($type){
                         $file=$fromurl.’/’.$type.’/’.$file;
                 }else{
                         $file=$fromurl.$file;
                 }

if($open=file($file)){
                                         $count=count($open);
                                         for($i=0;$i<$count;$i++){
                                                 $theget.=$open[$i];

}
                                        
                                 }else{
                                         die(‘请求过多,超时,请刷新’);
                                 }
                
                
         return $theget;

}

function update($file,$type=”){
//更新cache中的文件
         global $timestamp,$flush;
         if(!file_exists(“cache/$file”)){
                 if($type){
                         $data=open($file,$type);
                 }else{
                         $data=open($file);
                 }
                
                 writetofile(“cache/$file”,$data);
         }else{
                 $lastflesh=@filemtime(“cache/$file”);
                
        
        
                 if($lastflesh + ($flush * 60) < $timestamp ){
                         if($type){
                                 $data=open($file,$type);
                         }else{
                                 $data=open($file);
                         }
                         writetofile(“cache/$file”,$data);
                 }
         }

}
function readfromfile($file_name) {
         if($filenum=fopen($file_name,”r”)){
                 flock($filenum,LOCK_SH);
                 $file_data=fread($filenum,filesize($file_name));
                 fclose($filenum);
                 return $file_data;
         }else{
                 return false;
         }
        
}

function writetofile($file_name,$data,$method=”w”) {
         if($filenum=fopen($file_name,$method)){
                 flock($filenum,LOCK_EX);
                 $file_data=fwrite($filenum,$data);
                 fclose($filenum);
                 return $file_data;
         }else{
                 return false;
         }
}
function cut($file,$from,$end){

$message=explode($from,$file);
         $message=explode($end,$message[1]);
return         $message[0];
}
function updatecache($file,$cache=”){
         global $timestamp,$flush;
         if(!file_exists($file)){
                 writetofile($file,$cache);
                 $return=$cache;
         }elseif(@filemtime($file) < $timestamp – ($flush * 60)){
                 writetofile($file,$cache);
                 $return=$cache;
         }else{
                 $return=readfromfile($file);        
         }
         return $return;
}
?>
—————————————————————————————————–
其中有几个变量在config.php中设置一下
我们建立config.php文件 内容如下:
<?php
$fromurl = “http://www.onlinedown.net/”;
$flush=”120″;//update函数中自动同步更新时间
?>
————————
现在位置我们有了3个文件了 commom.php config.php global.php
有了3个文件 程序总体完成了.接下来如何去偷呢?
心急的人可以先试试
建立一个index.php文件 就是首页
你先做好模板 的样子
HTML先做好.
然后在
<html>
……..
……..
</html>
的上方插入PHP代码
如下:
<?php
require ‘./commom.php’;
update(“index.htm”);
$file=readfromfile(“cache/index.htm”);
$gwrj = cut($file,”<TD width=”307″ height=”118″>”,”</TD>”);
?>
<html>
…….
……
…….
</html>
在你想要插入的地方插入<?php echo $gwrj; ?>
就是从首页中切割出来的国外软件
自己试试

___________________________________________________________________________________________

今天我们教,偷取首页.不同的首页需要不同的偷法,主要是分析HTML代码.函数以及方法前面2天介绍的很清楚了.今天我们在实践中讲解和使用.

还是拿华军软件园开刀.
http://www.onlinedown.net/index.htm
用Dreamweaver新建一个index.php的页子.
注意:
先做好你要的首页模板,然后开始偷首页.由于考虑到对初学者的教程.所以先把模板和PHP处理代码放在同一个网页中.
以后教大家HTML和PHP的分离.

模板建立好以后,我们就开偷.
在<html>
的上方插入PHP代码,如下形式:
<?
require ‘./commom.php’;
update(“index.htm”);
$file=readfromfile(“cache/index.htm”);

?>
解释
require ‘./commom.php’//引入commom.php文件
update(“index.htm”)//读取写入index.htm网页
$file=readfromfile(“cache/index.htm”)//从本地文件夹cache中读取index.htm
这里的$file是一个变量,你可以随便取名.也可以叫它 $html
但是后面用到的时候要统一.

上面代码,没有处理任何东西,也没有输出任何的东西.如果说输出$file的话,那么就是index.htm的所有html代码.
下面就开始到index.htm中拿我们想要的东东.

1 拿国外软件更新的代码.
大家可以取一个变量名为 $gwrj    //国外软件 名字随便取
怎么从这个index.htm拿出这个我们想要的国外软件呢?这里拿出我们上一节讲过的cut函数
$gwrj = cut($file,”<TD width=”307″ height=”118″>”,”</TD>”);
解释
$xxx = cut($file,”$first”,”$end”);
如何工作的呢?就是把$file(index.htm)从$first处切割取下面部分,在切割$end取上面部分.
比如说:
$file = “111222333444″;
$xxx = cut($file,”1″,”3″);//结果是11222 这样的解释应该明白吧?
注意:
“<TD width=”307″ height=”118″>”
在” “内的内容 如果也有 ” 的话,需要在前面加
例子
“<TD width=”307″ height=”118″>”
成为
“<TD width=”307″ height=”118″>”
下面这段代码就是成功偷取了国外软件:
<?
require ‘./commom.php’;
update(“index.htm”);
$file=readfromfile(“cache/index.htm”);
$gwrj = cut($file,”<TD width=”307″ height=”118″>”,”</TD>”);
?>
然后在你的html模板中,在需要显示的地方插入代码
<? echo $gwrj; ?>

其他偷取也一样.
注意:
这里拿出来的HTML需要更换为自己的代码,可以总的更换,也可以一个一个更换.
我们讲单独更换代码就是:
$gwrj = cut($file,”<TD width=”307″ height=”118″>”,”</TD>”);
$gwrj = str_replace(“soft/”,”soft.php?id=”,$gwrj);
$gwrj = str_replace(“.htm”,”",$gwrj);
解释:
就是把偷过来的国外软件中的代码更换.
原来的
<a target=_blank href=”soft/18204.htm”>
变为了现在的
<a target=_blank href=”soft.php?id=18204″>

基本差不多了,多菜鸟讲来应该很详细咯.先做好首页模板,然后一个一个的挖出来你想要的东西.
想一个问题.
index.htm中,有很多分类资讯的,都是调用JS显示的内容,你怎么把它拿过来显示在你的首页中.
希望大家偷的都很顺利.
简单讲下分类的偷取.和偷取首页一样.代码如下:
<?
require ‘./commom.php’;

if($soft){
         update(“${soft}.htm”,”soft”);
         $file=readfromfile(“cache/${soft}.htm”);
}
?>
soft.php
其中$soft就是从前面传递过来的soft.php?id=1234
如果传递过来1234
那么就是更新读取update(“1234.html”,”soft”);

转载于:https://blog.51cto.com/wooderli/588305

php小偷程序原理分析2相关推荐

  1. XMLHTTP小偷程序原理

    小偷程序原理和简单示例 发表:2004-4-13 164720 出处:你的博客网(yourblog.org) 现在网上流行的小偷程序比较多,有新闻类小偷,音乐小偷,下载小偷,那么它们是如何做的呢,下面 ...

  2. 焦耳小偷-Joule_thief原理分析

    焦耳小偷电路可以榨干一节废旧干电池上的所有能量. 通常1.5V的干电池用完之后还会有1V左右的电压,说明此时电池内还有能量,只不过内阻已经变的很大,输出电流很微弱,已经无法驱动一般的电路,此时就算直接 ...

  3. PHP小偷程序原理和实例

    今天要学习的是一个简单的小偷程序,那什么是小偷程序呢? 什么是小偷程序?顾名思义,小偷就是偷东西的,而程序就是计算机用的.合起来也很好理解:就是使用程序技术,在未经源站同意的情况下,拿取该站公开免费的 ...

  4. php采集分析,PHP采集程序原理分析篇

    由于需要,要写一个简单的PHP采集程序,照例是到网上找了一堆教程,然后照猫画虎,可是发现网上的教程全是似是而非,没有一个真正能用的.苦想了几天,终于弄明白了里面的道理.在这里写出来,请高手指正. 采集 ...

  5. PHP采集程序原理分析篇

    由于需要,要写一个简单的PHP采集程序,照例是到网上找了一堆教程,然后照猫画虎,可是发现网上的教程全是似是而非,没有一个真正能用的.苦想了几天,终于弄明白了里面的道理.在这里写出来,请高手指正. 采集 ...

  6. 焦耳小偷工作原理分析

    当开关闭合,Q1获得基极电流导通,右侧线圈流过电流,由于同名端的关系其在左侧线圈产生的互感电动势上负下正,正反馈使得Q1迅速饱和导通. 右侧电流处于饱和状态,感应电动势消失,互感电动势也消失.互感电动 ...

  7. Java程序员进阶——Spring依赖注入原理分析

    Spring依赖注入原理分析 下面谈谈Spring是如何实现反转模式IOC或依赖注入模式DI: 平时,我们需要生成一个对象,使用new语法,如一个类为A public class A{public v ...

  8. Android应用程序组件Content Provider在应用程序之间共享数据的原理分析(1)

             在Android系统中,不同的应用程序是不能直接读写对方的数据文件的,如果它们想共享数据的话,只能通过Content Provider组件来实现.那么,Content Provide ...

  9. 提高微信小程序的应用速度的常见方式有哪些? 小程序怎么实现下拉刷新? 简述微信小程序原理? 小程序的发布流程(开发流程)分析下微信小程序的优劣势?小程序授权登录流程? 小程序支付如何实现

    小程序部分常见面试题 提高微信小程序的应用速度的常见方式有哪些? 提高页面加载速度 用户行为预测 减少默认data的大小 组件化方案 分包预下载 小程序与原生App相比优缺点? 优点: 基于微信平台开 ...

最新文章

  1. iOS设计模式 - 备忘录
  2. day60 Pyhton 框架Django 03
  3. Java牛角尖【009】: 多线程中synchronized的锁定方式
  4. 判断一个链表是否为循环单链表
  5. url带多个参数_动态URL和静态URL做seo优化不必二选一
  6. python训练的模型怎么在C++使用?
  7. jquery.text()和.html()的原理
  8. c# list集合根据某个字段去重_java8 List 根据对象某个字段或多个字段去重、筛选、List转Map、排序、分组、统计计数等等...
  9. 【推荐实践】图片主题模型在推荐系统的应用实践
  10. 中科方德桌面操作系统_兆芯CPU与中科方德新版桌面/服务器操作系统完成互认证...
  11. java实验报告2013_java实验报告4
  12. goeasy java_Java GoEasy 实现服务端推送和Web端推送
  13. 变色龙引导安装mac
  14. 「原创」如何快速获取银行、联行号的数据?
  15. Java实现邮件抓取(亲测126,163,新浪都可以抓取到)
  16. 服务器硬盘上面的12gb和6gb的区别,4GB和6GB有什么区别?看完千万别买错,已有多人后悔!...
  17. [零基础学JAVA]Java SE实战开发-37.MIS信息管理系统实战开发[文件保存](1)
  18. linux开机动画制作教程,Android开机画面制作(Bootloader阶段)
  19. 【软件工程课后习题】
  20. fetch用英语解释_fetch是什么意思中文翻译

热门文章

  1. java课设电子门禁_Door门禁系统.doc
  2. mybatis中ResultSetHandler的设计与实现
  3. Eclipse如何导入maven项目,以及配置maven
  4. 【Python】学习笔记一:Hello world
  5. OpenVirteX 安装
  6. Jsp----注册登陆
  7. (转)Symbian启动J2ME程序
  8. 审车按月还是日期_新手都该知道的审车流程!
  9. javascript写坦克大战
  10. git如何添加远程主机_Git远程操作详解