自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序老兵的博客

用来整理我的知识碎片,也希望帮到他人。只要往前走,就不会迟。精疲力尽的时侯应该选择休息,切不可放弃。

  • 博客(15)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 PHP用curl模拟登陆并采集后台数据

PHP用curl模拟登陆并采集后台数据步骤:1、请求登陆,获取返回的保存身份信息的cookie,并存入指定cookie文件。见类login()方法2、请求需身份验证的页面,带上cookie文件。见类getcontent()方法PHP的CURL库中可以设置记录和读取cookie。有三个重点:1、CURLOPT_COOKIE: 在http头中设置cookie的信息如:curl_setopt($ch,CURL

2016-07-28 21:00:05 4683 1

原创 php中创建文件函数tempnam()与tmpfile()区别

tempnam:建立一个具有唯一文件名的文件函数原型:string tempnam ( string $dir , string $prefix )在指定目录中建立一个具有唯一文件名的文件。如果该目录不存在,tempnam() 会在系统临时目录中生成一个文件,并返回其文件名。<?php$tmpfname = tempnam(sys_get_temp_dir(), "TWM");

2016-07-28 08:59:11 3120

原创 CodeIgniter框架源码笔记(9)——日志记录类Log.php

日志记录类Log结构:$_log_path:日志存放路径$_file_permissions:写入的日志文件权限,默认为0644,即rw-r--r--$_threshold:允许写日志的阀值,默认为1    0 = Disables logging, Error logging TURNED OFF    1 = Error Messages (including PHP er

2016-07-27 20:23:48 2758

原创 CodeIgniter框架源码笔记(8)——性能调试:基准测试类Benchmark.php

在性能调试过程中,我们想更精确的了解类库加载时间,控制器方法执行时间,缓存操作时间怎么做?或者我们想很俗气的在网站底部显示一个:本次加载耗时0.007s应该怎么做?CI框架提供了一个叫Benchmark的基准测试类,用于计算两个标记点之间的时间差。使用流程如下:1、标记一个起始点2、标记一个结束点3、使用 elapsed_time 函数计算时间差。$this->benchmar

2016-07-27 20:16:47 842

原创 CodeIgniter框架源码笔记(7)——强大的配置管理器:配置类Config.php

类结构及说明功能:Config类作为配置管理类,有以下几个主要功能:加载配置文件获取配置项值设置配置项(临时)url处理,不明白怎么放这里CodeIgniter 默认有一个主要的配置文件 application/config/config.php 。所有配置项都存储在一个叫做 $config 的数组中。可以往这个文件中添加自己的配置项,也可以创建自己的配置文件并保存

2016-07-26 22:33:14 2468

原创 CodeIgniter框架源码笔记(6)——支持友好的URI地址:路由类Router.php

Router类:将URI映射到对应的控制器及方法Router类大量代码处理的是自定义路由,该类要支撑以下几个功能点:1、自定义路由规则在 application/config/routes.php 文件中的 $route 的数组,利用它可以设置路由规则。 在路由规则中可以使用通配符或正则表达式。使用通配符:$route['product/:num'] = 'catalog/prod

2016-07-26 11:58:55 4957

原创 HTTPOXY漏洞下的思考

晚晚刷微博看到最新爆出的httpoxy远程代理感染漏洞的介绍今天中午看到鸟哥(风雪之隅)博客更新了:http://www.laruence.com/2016/07/19/3101.html摘录重点:在CGI(RFC 3875)的模式的时候, 会把请求中的Header, 加上HTTP_ 前缀, 注册为环境变量, 所以如果你在Header中发送一个Proxy:xxxxxx, 那么P

2016-07-19 16:41:18 900

原创 CodeIgniter框架源码笔记(5)——识别多种URI风格:地址解析类URI.php

类主要方法参考说明(摘抄CI手册):在开始之前,先看配置文件/*|--------------------------------------------------------------------------| URI PROTOCOL|------------------------------------------------------------------

2016-07-15 18:04:14 3641

原创 CodeIgniter框架源码笔记(4)——负责屏幕上呈现的内容:输出类Output.php

Output类参考说明(摘抄CI手册):在一般情况下,你可能根本就不会注意到输出类,因为它无需你的干涉, 对你来说完全是透明的。例如,当你使用 加载器 加载一个视图文件时,它会自动传入到输出类,并在系统执行的最后由 CodeIgniter 自动调用。尽管如此,在你需要时,你还是可以对输出进行手工处理。在说Output类前先说几个知识点和编程技巧:$_SERVER['HTTP_ACC

2016-07-15 16:33:51 3167

原创 实现WEB压缩的三种途径:Web服务器(Nginx/Apache)、Php扩展、Php代码

web压缩是减少服务器响应流量、节省带宽,加快响应速度的一种方法,可提高页面性能。一、压缩格式从浏览器常见的请求头Accept-Encoding:"gzip, deflate"可知,常见压缩格式有gzip,deflate。网摘:gzip是一种数据格式,默认且目前仅使用deflate算法压缩data部分. GZIP是使用DEFLATE进行压缩数据的另一个压缩库deflate是同时

2016-07-08 17:25:04 1596

原创 CodeIgniter框架源码笔记(3)——每次请求的总调度师傅:引导文件CodeIgniter.php

现在我们进入CI框架最重要的一环,引导文件defined('BASEPATH') OR exit('No direct script access allowed');此行在以后的每个系统文件中都会出现,防止客户端不通过入口,直接访问这些文件我理解的CI工作流程如下:一、设置版本号define('CI_VERSION', '3.0.4');二、加载常量if

2016-07-08 10:42:44 1830

原创 CodeIgniter框架源码笔记(1)——回忆:准备

看代码,一定要有全局观,先俯瞰了解整个架构思想,流程组成,体系组成,如果想了解CI的使用,可以参考http://codeigniter.org.cn/user_guide/tutorial/index.html,非常简单。本文重点不在教你如何使用CI框架。而是在剖析CI源码的同时,对于其中涉及的高级编程技巧和知识点着重分析。借分析源码的过程,锻炼WEB开发思想,提升技巧。本系列文章基于

2016-07-07 10:17:39 1149

原创 CodeIgniter框架源码笔记(2)——请求的接收者:框架入口index.php

作为框架的入口文件,index.php并没有负责整个框架生命周期的生成和调度,它仅仅做了一个环境设置和常量初始化的工作(重点是跟文件路径相关的几个常量)。接下来我们一层一层来看看:一、设置常量ENVIRONMENT,这个常量决定了报错级别、配置Config加载。define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');$_SERVER['CI_ENV'] 的值可以在 .htaccess

2016-07-06 21:16:14 1687

原创 浅谈代码级web缓存几个层次的实现

今天抛开编译(opcode缓存)缓存、CDN缓存、web服务器(如nginx)缓存不说,只谈程序能控制实现的缓存方式:一、本地缓存:   先问个问题,我要发货到辽宁,最牛逼的物流是什么?大货车?高铁?飞机?时光隧道?机器猫?我晕,你还让不让我写下去了。   做过物流的应该知道,最厉害的物流不是物联调度系统响应有多快(服务器处理能力),运输工具有多快(传输速度),也不是你同时能发多少

2016-07-06 16:58:50 2828

原创 PHP中对像比较,比较操作符和全等操作符的区别

随手记录一下今天在开发时的一个知识点。PHP中,当使用比较操作符(==)比较两个对象变量时:如果两个对象的属性和属性值都相等,而且两个对象是同一个类的实例,认为这两个对象变量相等。而如果使用全等操作符(===),这两个对象变量一定要指向某个类的同一个实例(即同一个对象)。 举个粟子:$obj_1 = new Myclass();$obj_2 = new Myclass()

2016-07-04 12:03:50 1018

wkhtmltox 最新版 0.12.4 linux64位组件包(含wkhtmltopdf,wkhtmltoimage)

一款用于将HTML转换成PDF或IMAGE的工具,当前最新版 0.12.4 linux64位组件包(含wkhtmltopdf,wkhtmltoimage)

2017-07-09

Mybatis自动生成代码用到的组件包

Mybatis generator 自动生成代码用到的组件包

2017-03-21

mybatis与spring整合jar包

mybatis与spring整合jar包

2017-03-21

mybatis-3.3.0.zip

mybatis-3.3.0.zip

2017-03-21

深入理解Java虚拟机(第二版):JVM高级特性与最佳实践

深入理解Java虚拟机,啥也不说了,重要的是免费!!非扫描版的!网上根本找不到!

2017-01-25

Druid 1.0.9.jar

使用阿里巴巴druid数据库链接池时需要的jar包! 下载别人的亲测可用,免费提供。 Druid是一个JDBC组件,它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。 DruidDataSource 高效可管理的数据库连接池

2017-01-23

WEB开发示例:MVC + Flexigrid

WEB开发示例:MVC + Flexigrid

2009-11-30

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除