php抓图

private function fetchUrl($url)
{
$curl_hand = curl_init($url);
curl_setopt(
$curl_hand,CURLOPT_RETURNTRANSFER,true);
$curl_Data = curl_exec($curl_hand);
if($curl_Data === false)
{
$this->showErrorInfo(new Exception());
}
curl_close(
$curl_hand);
return $curl_Data;
}



/*
* 功能: 获取通过给定的正则表达式匹配的结果.
* 参数:
* 1) $pattern:匹配模式
* 2) 欲匹配的数据源
* 执行结果:
* 1) 成功: 返回匹配好的数组[preg_match_all格式]
* 2) 失败: 返回flse.
*/
private function getMatchData($pattern,$dataSource)
{
if(preg_match_all($pattern,$dataSource,$matchResult) === false)
{
$this->showErrorInfo(new Exception());
return false;
}
return $matchResult;
}



/*
* 功能:返回通过给定的模式匹配得到的给定url中的数据
* 参数:
* 1) $url: 要获取远程文件的地址
* 2) $pattern: 要匹配的正则模式
* 执行结果:
* 1) 成功: 返回通过给定匹配模式匹配得到的数据,数据格式以preg_match_all第三个参数默认的格式返回
* 2) 失败: 返回flase.
*/
protected function Action($url,$pattern)
{
if(($curlData = $this->fetchUrl($url)) === false)
{
return false;
}

if(($matchData = $this->getMatchData($pattern,$curlData)) === false)
{
return false;
}

return $matchData;
}

posted @ 2011-05-31 13:29  zendPger  Views(339)  Comments(0Edit  收藏  举报