作者:Albert.Wen
添加时间:2012-07-29 18:14:51
修改时间:2024-10-30 13:33:54
分类:
11.PHP基础
编辑
PHP5.x 版本:
PHP5.0 以上版本对类的功能进行了很大的扩充。类的构造函数统一命名为__construct()。
子类的构造函数名也是__construct()(也是废话)。
在子类里父类的构造函数会不会执行,分两种情况:
1、如子类不定义构造函数 __construct(),则父类的构造函数默认会被继承下来,且会自动执行。
2、如子类定义了构造函数 __construct(),因为构造函数名也是__construct(),所以子类的构造函数实际上是覆盖(override)了父类的构造函数。这时执行的是该子类的构造函数。
作者:Albert.Wen
添加时间:2012-07-28 10:45:47
修改时间:2024-11-19 18:53:53
分类:
11.PHP基础
编辑
/** 模拟JS里的unescape
*
* @param unknown_type $str
*/
function unescape($str, $charset = 'utf-8') {
$str = rawurldecode($str);
preg_match_all("/(?:%u.{4})|.{4};|&#d+;|.+/U", $str, $r);
$ar = $r[0];
foreach ($ar as $k => $v) {
if (substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2", $charset, pack("H4",substr($v,-4)));
elseif (substr($v, 0, 3) == "")
$ar[$k] = iconv("UCS-2", $charset, pack("H4", substr($v, 3, -1)));
elseif (substr($v,0,2) == "&#") {
echo substr($v,2,-1) . "";
$ar[$k] = iconv("UCS-2", $charset, pack("n", substr($v, 2, -1)));
}
}
return join("", $ar);
}
作者:Albert.Wen
添加时间:2014-03-13 16:51:00
修改时间:2024-11-18 07:02:51
分类:
11.PHP基础
编辑
需要注意的是如果采用GET方式,那么action url中参数都会被丢弃,提交时候只会把form中的数据拼接在url向服务器提交;但是POST的方式则不会这样,它会按照action指定的url进行提交数据,包含url后面跟着的参数和参数值。
作者:Albert.Wen
添加时间:2012-07-21 01:37:56
修改时间:2024-10-30 11:37:49
分类:
11.PHP基础
编辑
先了解一下普通cgi的工作流程:
web server收到用户请求,并把请求提交给cgi程序,cgi程序根据请求提交的参数作相应处理,然后输出标准的html语句返回给web server,web server再返回给客户端,这就是普通cgi的工作原理。
作者:Albert.Wen
添加时间:2012-07-15 16:00:11
修改时间:2024-11-14 17:29:09
分类:
11.PHP基础
编辑
CURL 是 Client URL Library Functions 的缩写,由 Daniel Stenberg 创建,更多内容可以参考他的网站。最近几天突然对 HTTP 采集有了兴趣。之前我在做这方面程序,一般通过两种方法,一个是利用 PHP 自身的文件操作函数。PHP 的 fopen,readfile ,file_get_contents都是可以支持 http 协议的,这样可以很方便的获取互联网上的内容。另一种方法是通过 PHP 的 Socket 函数,这个方法的好处是对各种协议都可以支持,缺点是使用起来比较麻烦,要对协议有一定的了解。在 HTTP 获取方面,运用 Socket 的 Snoopy 类是一个非常好用的 PHP HTTP 客户端,也是我原来最常用的方法。
作者:Albert.Wen
添加时间:2012-07-15 01:51:59
修改时间:2024-11-17 00:17:13
分类:
11.PHP基础
编辑
我用php ,curl主要是抓取数据,当然我们可以用其他的方法来抓取,比如fsockopen,file_get_contents等。但是只能抓那些能直接访问的页面,如果要抓取有页面访问控制的页面,或者是登录以后的页面就比较困难了。
1,抓取无访问控制文件
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/mytest/phpinfo.php");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果把这行注释掉的话,就会直接输出
$result=curl_exec($ch);
curl_close($ch);
?>
2,使用代理进行抓取
作者:Albert.Wen
添加时间:2012-07-13 23:06:37
修改时间:2024-10-30 13:35:11
分类:
11.PHP基础
编辑
CURL(Client URL Library Functions)是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。CURL同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法,FTP 上传, kerberos认证,HTTP上传, 代理服务器, cookies, 用户名/密码认证,下载文件断点续传,上载文件断点续传, http代理服务器管道( proxy tunneling),甚至它还支持IPv6, socks5代理服务器, 通过http代理服务器上传文件到FTP服务器等等,功能十分强大。
作者:Albert.Wen
添加时间:2012-07-12 21:08:00
修改时间:2024-11-23 14:49:06
分类:
11.PHP基础
编辑
Piwik是一套基于Php+能够与Google Analytics相媲美的开源网站访问统计系统,浏览人数, 访问最多的页面, 搜索引擎关键词等等,并且采用了大量的AJAX/Flash技术,使得在操作上更加便易。此外,它还采用了插件扩展及开放API架构,可以让开发人员根据 自已的实际需求创建更多的功能。
作者:Albert.Wen
添加时间:2012-07-12 20:08:16
修改时间:2024-10-30 13:34:03
分类:
11.PHP基础
编辑
<?php
// 1. 初始化
$ch = curl_init();
// 2. 设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, "");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
// 3. 执行并获取HTML文档内容
$output = curl_exec($ch);
// 4. 释放curl句柄
curl_close($ch);
?>
curl_setopt中的 CURLOPT_URL, CURLOPT_RETURNTRANSFER 等参数,请参考php文档手册,里面有详细说明!
现在得到$output内容…使用正则表达式匹配出你需要的内容。
作者:Albert.Wen
添加时间:2012-07-12 19:52:01
修改时间:2024-11-21 19:01:03
分类:
11.PHP基础
编辑
PHP.ini 里有个 disable_functions 开关选项,此选项可关闭一些危险的函数,比如system,exec 等。比如: disable_functions = phpinfo , 如果在文件中调用 phpinfo() 函数,那么在 error_reporting 开启的情况下,会提示如下错误:
Warning: phpinfo() has been disabled for security reasons
屏蔽函数实例:
disable_functions= phpinfo,dl, exec, system