php小偷cookie,php小偷程序新概念之实时更新(二) | 学步园
前一篇讲到了如何将资源本地化,这篇博文将讲述如何资源本地化的同时实时更新。
二级页面,文章页面要实时更新其实没有什么必要,只要定时或者稳定间隔时间更新页面就行了。方法有如下几种:
1,利用cookie或者session定时或者间隔时间重新生成页面和文件
2,当生成的文件大小超过一定量(如150M)时,删除文件重新生成。
由于我用的是虚拟空间,以节约成本角度出发我用的是第二种方法。
下面几个方法能达到要求:
public function content(){
//session_start();
$address = ltrim($this->address, '/');
if(file_exists($address))
{//echo $this->address;exit;
/*$session_name = "cache_time_html";
if($_COOKIE[$session_name])
{
$show_data = '';
$grab_caches_time = Cookie::get($session_name);
if((time() - $grab_caches_time) > $this->cache_time_html)
{//echo time() - $grab_caches_time;exit;
$_COOKIE[$session_name] = null;
unset($_COOKIE[$session_name]);
self::creat_html();
}
else
{//echo time() - $grab_caches_time;exit;
$show_data = @file_get_contents(ltrim($this->address, '/'));
print_r($show_data);
exit;
}
}
else
{
Cookie::set($session_name, time());
self::creat_html();
}*/
$show_data = @file_get_contents(ltrim($this->address, '/'));
print_r($show_data);
exit;
}
else
{ //echo 2;exit;
self::creat_html();
}
}
/**
* 生成静态页面
*/
private function creat_html()
{
//echo $this->html_address;exit;
$content = $this->grap->curl_get_content($this->html_address);
if(!$content) $content = @file_get_contents($this->html_address);
if($content)
{
//替换删除内容
$param1 = '/
$param2 = '/
(.*)/isU';
$param3 = '/
$param = array($param1, $param2, $param3);
$this->grap->replace_preg($content, $param);
$replace = array('网站导航', '收藏本站', '[登陆|注册]');
$this->grap->replace_preg($content, $replace, '1', '0');
//保存图片到本地
$image_place = array('');
$replace = array('' => '');
$this->grap->get_image($content, $this->sorce_url, "/public/images", $image_place, $replace);
//保存css到本地
$this->grap->get_css($content, $this->sorce_url, "/public/images");//print_r($content);exit;
//保存js到本地
$this->grap->get_js($content, $this->sorce_url, "/public/images");
//处理页面超链接
self::href_oprate($content);
//生成文件夹
$this->grap->get_file_adress($this->address);
$address = ltrim($this->address, '/');
/*$files = fopen($address, 'w');
fwrite($file, $content);
fclose($file);*/
@file_put_contents($address, $content);
print_r($content);exit;
}
else
{
echo '没有获取到页面内容,请刷新重试!';
}
}
/**
* 处理页面超链接
*
* @param srting $content
*/
private function href_oprate(&$content)
{
$content = str_replace($this->sorce_url, '', $content);
$zx_patton = array(
'',
);
$zx_replace = array(
'',
);
$content = str_replace($zx_patton, $zx_replace, $content);
@preg_match_all("/]*)/i",$content,$match);
$href = $match['1'];
foreach ($href as $key => $val)
{
if(!stristr($val, 'href')) continue;
if(stristr($val, "http://") || stristr($val, "https://") || stristr($val, "/login.html") || stristr($val, "/register.html") || stristr($val, ".php"))
{
$content = str_replace($val, '', $content);
}
if(!stristr($val, "javascript"))
{
$fg = stristr($val, 'href="') ? 'href="' : "href='";
$arr_url = explode($fg, $val);
$arr_url['1'] = trim($arr_url['1']);
if(substr($arr_url['1'], 0, 1) == '"' && substr($arr_url['1'], 0, 1) == "'") continue;
if(substr($arr_url['1'], 0, 1) == '/')
{
if(substr($arr_url['1'], 0, 2) !== '/"' && substr($arr_url['1'], 0, 2) !== "/'")
{
$arr_url['1'] = substr($arr_url['1'], 0, 1) != '/' ? '/html/'.$arr_url['1'] : '/html'.$arr_url['1'] ;
}
$new_url = implode($arr_url, $fg);//echo $val.'||'.$new_url.'
';
$content = str_replace($val, $new_url, $content);
}
}
}//exit;
}
php小偷cookie,php小偷程序新概念之实时更新(二) | 学步园相关推荐
- 新概念英语一册二册三册四册(含答案和mp3音频)
新概念英语一册二册三册四册(含答案和mp3音频) 新概念英语第一册 ·新概念英语第一册Flash版4-3 ·新概念英语第一册Flash版4-4 ·新概念英语第一册Flash版4-2 ·新概念英语第一册 ...
- 小程序轮播图实时更新
关于小程序轮播图实时更新不借助webSocket来实现,为你们提供以下思路 博主就是这样搞得已经实现很好用 1. 关于轮播图后台肯定有维护页面也就是说和后端商量好,如果后台新增.修改.删除了某个轮播图 ...
- python新浪api_python调用新浪微博API | 学步园
前提:在新浪微博应用开发平台成功创建一个应用,并获得可用APP_KEY.APP_SECRET.CALLBACK_URL. 1.下载OAuth2的python版SDK,https://github.co ...
- wxpython应用程序对象与顶级窗口_wxPython 基础 | 学步园
wxPython应用程序的两个主要部分是:应用程序对象和顶级Window对象 应用程序对应通常指wx.App的子类. Window对象通查功能指Frame或者Dialog. 创建wx.App子类 1 ...
- dpcm编码 matlab程序,DPCM预测编码的MATLAB原代码: | 学步园
DPCM预测编码原代码: i1=imread('3.jpg'); i1=rgb2gray(i1); i1=imcrop(i1,[20 20 160 160]); i=double(i1); [m,n] ...
- 新概念2-课文名称和知识点
目录 一.新概念2课文特点 二.新概念2知识点 1.新概念2知识点思维导图 2.简单句的核心 3.简单句的扩展 4.复合句 三.新概念2课文明细 一.新概念2课文特点 1)总计96篇课文,4个单元,每 ...
- 新概念英语第一册学习笔记
新概念英语第一册 21 祈使句 请给我一本书 give me a book please 请递给我一本书 pass me a book pass me:递给 哪一本书 which book? 这一本书 ...
- 如何学习新概念英语第四册
我要想学新概念四册或者是即将学新概念四册的人表示恭喜,因为你们即将踏上英语的最高境界,踏入英语最神圣的殿堂. 新概念四册所有的文章都是选自于某个领域最经典的文章,读这些文章,其实就是在和这些大师 ...
- 重磅 | 机器学习大神Bengio最新论文发布,专注RNN优化难题,将在NIPS提出新概念fraternal dropout
编译 | Troy·Chang.爱心心.reason_W 校对 | reason_W 下个月机器学习领域的顶会Nips就要在大洋彼岸开幕啦,那么这次的Nips又有什么值得关注的亮点呢?Bengio在新 ...
- 新概念C语言能力教程练习3答案,新概念C语言教程答案参考(自做)中国电力
新概念C语言教程答案参考(自做)中国电力 (138页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 39.9 积分 第一篇算法与C程序结构第1单元C语言程 ...
最新文章
- Unity 跑酷Demo难题总结
- Python自动化运维之函数进阶
- 计算机科学经典论文(zz)
- 关于Spring Cloud Zuul网管上传文件乱码问题
- 在NamedParameterJdbcTemplate中使用like查询
- java日期格式精确到分_详解Java日期格式化及其使用例子
- 关于在Flask中使用Restful
- 你有见过从肚子里抽出来的脂肪吗? | 今日趣图
- mapreduce 算法_MapReduce算法–了解数据联接第1部分
- python 入门到实践期末考试常出现的考试内容_Python编程入门到实践—列表篇(一)...
- Jquery改变窗体大小
- 基于Android中实现定时器的3种解决方法
- Xcode证书路径和缓存清理路径
- MATLAB 绘图函数及绘图辅助
- 微分方程的数值解法—四阶龙格库塔(Runge-Kutta)的推导以及C代码实现
- 毕业论文页码及目录设置方法
- 探究ESP32S【第六天】——接入米家(插曲)
- 图像分割之常用损失函数-Focal Loss
- 2021四川省赛A,B,D,H,K
- OpenGL-聚光灯-spot
热门文章
- linux 叫号程序,linux socket编程有关问题,上面是小弟我做的一个简单的模拟银行排队叫号系统...
- CodeProject的网站
- linux如何导入种子文件格式,Linux下磁力链接种子文件下载
- 【非参数统计】概念及方法归纳比较(超适合期末复习)
- 珍大户《认知世界的经济学》学习笔记 -- 第17课 影响消费者的因素 -- 色彩、冷暖、秩序
- 【干货】跨端体验度量的思考与实现(含直播回放)
- 元宇宙NFT商城系统|艺术数字藏品平台源码部署
- SPSS Statistics 24 软件安装教程
- 直播盒子源码与直播盒子APP如何对接自动发卡平台
- E4A直播盒子APP源码搭建教程之——APP源码篇