[Ô´´] 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
Ïà¹ØÎĵµ£º
2009-10-22 09:16
|
322´ÎÔĶÁ
|
¡¾ÒÑÓÐ0
ÌõÆÀÂÛ¡¿·¢±íÆÀÂÛ
¹Ø¼ü´Ê£ºPHP
| ¸Ðлyvonne_826
µÄÌṩ
|
ÊÕ²ØÕâÆªÐÂÎÅ
ÈÕǰ£¬PHPÓïÑÔ¼°¹¤¾ß¹©Ó¦ÉÌZend
TechnologiesÐû²¼½«ÁªÊÖÔÆ¼ÆËãÓ¦ÓùÜÀíÁì¾üÆóÒµRightScale£¬°ïÖúPHP¿ª·¢Õß½øÈëÔÆ¼ÆËãµÄÓ¦Óá£RightScale½« ......
PHPСʵÀý-ÖÆ×÷ÁôÑÔ±¾
µÚÒ»²½£ºÔÚmysqlÖÐн¨Êý¾Ý¿âbbs È»ºóÖ´ÐÐsql´úÂë
CREATE TABLE `message` (
`id` tinyint(1) NOT NULL auto_increment,
`user` varchar(25) NOT NULL,
`title` varchar(50) NOT NULL,
`content` tinytext NOT NULL,
`lastdate` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT ......
1.°Ñ½âѹµÄphp-5.2.6-Win32.zipÖØÃüÃûΪphp5¡£²¢¸´ÖƵ½DÅÌĿ¼Ï¡£¼´°²×°Â·¾¶Îª D:\php5
2.ÕÒµ½phpĿ¼Ï嵀 php.ini-dist»ò php.ini.recommendedÎļþ£¬ÖØÃüÃûΪ php.ini
3.ÔÙ°ÑphpĿ¼ÏµÄphp5ts.dll,libmysql.dll¸´ÖƵ½Ä¿Â¼ c:\windows\system32Ï¡£
4.°Ñphp5\extĿ¼ÏµÄphp_gd2.dll,php_mysql.dll,php_mbstring.dllÎ ......