php curl的几段小应用
php 的curl是不错的功能,下面收藏几段不错的片段?
1 测试网站是否运行正常?
java代码??if?(isdomainavailible('http://gz.itownet.cn'))?{?echo?up?and?running!;?}?else?{?echo?woops,?nothing?found?there.;?}?//returns?true,?if?domain?is?availible,?false?if?not?function?isdomainavailible($domain)?{?//check,?if?a?valid?url?is?provided?if(!filter_var($domain,?filter_validate_url))?{?return?false;?}?//initialize?curl?$curlinit?=?curl_init($domain);?curl_setopt($curlinit,curlopt_connecttimeout,10);?curl_setopt($curlinit,curlopt_header,true);?curl_setopt($curlinit,curlopt_nobody,true);?curl_setopt($curlinit,curlopt_returntransfer,true);?//get?answer?$response?=?curl_exec($curlinit);?curl_close($curlinit);?if?($response)?return?true;?return?false;?}?>
2 可以代替file_gecontents的操作?
?java代码??function?file_get_contents_curl($url)?{$ch?=?curl_init();curl_setopt($ch,?curlopt_header,?0);curl_setopt($ch,?curlopt_returntransfer,?1);?//set?curl?to?return?the?data?instead?of?printing?it?to?the?browser.curl_setopt($ch,?curlopt_url,?$url);$data?=?curl_exec($ch);curl_close($ch);return?$data;}
3 保存某个网站下的所有图片?
java代码??function?getimages($html)?{$matches?=?array();$regex?=?'~http://somedomain.com/images/(.*?)\.jpg~i';preg_match_all($regex,?$html,?$matches);foreach?($matches[1]?as?$img)?{saveimg($img);}}function?saveimg($name)?{$url?=?'http://somedomain.com/images/'.$name.'.jpg';$data?=?get_data($url);file_put_contents('photos/'.$name.'.jpg',?$data);}$i?=?1;$l?=?101;while?($i?$l)?{$html?=?get_data('http://somedomain.com/id/'.$i.'/');getimages($html);$i?+=?1;}
4 ftp应用?
?java代码??//?open?a?file?pointer$file?=?fopen(/path/to/file,?r);//?the?url?contains?most?of?the?info?needed$url?=?ftp://username:password@mydomain.com:21/path/to/new/file;$ch?=?curl_init();curl_setopt($ch,?curlopt_url,?$url);curl_setopt($ch,?curlopt_returntransfer,?1);//?upload?related?optionscurl_setopt($ch,?curlopt_upload,?1);curl_setopt($ch,?curlopt_infile,?$fp);curl_setopt($ch,?curlopt_infilesize,?filesize(/path/to/file));//?set?for?ascii?mode?(e.g.?text?files)curl_setopt($ch,?curlopt_ftpascii,?1);$output?=?curl_exec($ch);curl_close($ch); ??