易截截图软件、单文件、免安装、纯绿色、仅160KB

[原创] PHP 兼容 Curl/Socket/Stream 的 HTTP 操作类

<?php
/************************************************************
* 描述:HTTP操作类
* 作者:heiyeluren
* 创建:2009/12/13 04:43
* 修改:2009/12/16 10:30 实现基本HTTP各种接口操作支持
*
************************************************************/
/**
* HTTP功能工厂方法类
*
* 调用示例代码:
try {
$http = Http::factory('http://www.baidu.com', Http::TYPE_SOCK );
echo $http->get();
$http = Http::factory('http://127.0.0.1/test/i.php', Http::TYPE_SOCK );
echo $http->post('', array('user'=>'我们', 'nick'=>'ASSADF@#!32812989+-239%ASDF'), '', array('aa'=>'bb', 'cc'=>'dd'));
} catch (Exception $e) {
echo $e->getMessage();
}
*/
class Http
{
/**
* @var 使用 CURL
*/
const TYPE_CURL = 1;
/**
* @var 使用 Socket
*/
const TYPE_SOCK = 2;
/**
* @var 使用 Stream
*/
const TYPE_STREAM = 3;


/**
* 保证对象不被clone
*/
private function __clone() {}
/**
* 构造函数
*/
private function __construct() {}
/**
* HTTP工厂操作方法
*
* @param string $url 需要访问的URL
* @param int $type 需要使用的HTTP类
* @return object
*/
public static function factory($url = '', $type = self::TYPE_SOCK){
if ($type == ''){
$type = self::TYPE_SOCK;
}
switch($type) {
case self::TYPE_CURL :
if (!function_exists('curl_init')){
throw new Exception(__CLASS__ . " PHP CURL extension not install");
}
$obj = Http_Curl::getInstance($url);
break;
case self::TYPE_SOCK :
if (!function_exists('fsockopen')){
throw new Exception(__CLASS__ . " PHP function fsockopen() not support");
}
$obj = Http_Sock::getInstance($url);
break;
case self::TYPE_STREAM :
if (!function_exists('stream_context_create')){
throw new Exception(__CLASS__ . " PHP Stream extension not install");
}
$obj = Http_Stream::getInstance($url);
break;
default:
throw new Exception("http acc


相关文档:

Linux 下php扩展 tidy 的安装 _ 参考

tidy 是一个非常帮忙的网页代码分析和纠错的工具,能够支持多种页面编码,并且支持xhtml输出。如果我们偷懒,甚至可以将整个页面缓存,最后采用tidy处理,最后输出完美的xhtml代码。
linux下安装过程如下:
首先安装tidy ,下载tidy源代码:
cvs -d:pserver: anonymous@tidy.cvs.sourceforge.net 为防备电子邮件地址收集 ......

重新审视 PHP 框架 CodeIgniter VS Zend

作者:Ekerete
翻译:Emeric Li (http://lee.kometo.com/index.php/archives/117
)
原文:http://www.avnetlabs.com/php/php ... r-vs-zend-framework
我们计划从头开始一个新项目,为此评估了一些PHP框架。我们的备选列表有CakePHP , CodeIgniter , Symfony和Zend 。 我们分别使用这4种框架编写了一个相同的小应用( ......

HTTP Only cookies without PHP 5.2


HTTP Only cookies without PHP 5.2
by Matt Mecham
on September 12, 2006
For a while, Microsoft have had a flag
for cookies called ‘httponly’. This doesn’t sound particularly
exciting, but it is a vital step forward for web application security.
This flag tells Internet Expl ......

PHP Session 两种不同存储方式

转自:http://www.cmsgp.org/article/3.html PHP Session使我们能够将用户的数据保存在服务器端。但是Session数据是临时的,并且通常当用户关闭浏览器时,保存Session id的Cookie就会被删除,相关的Session数据也将因此丢失。当然,我们可以通过修改session.cookie_lifetime这个参数来控制Cookie有效时间。
PHP Sessi ......

PHP正则表达式百科

基本概念
一个正则表达式通常被称为一个模式 (pattern),为用来描述或者匹配一系列符合某个句法规则的字符串。例如:Handel、Händel 和 Haendel 这三个字符串,都可以由“H(a|ä|ae)ndel”这个模式来描述。大部分正则表达式的形式都有如下的结构:
选择| 竖直分隔符代表选择。例如“gray|grey&rd ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号