当前位置:Gxlcms > PHP教程 > phpcurl的几段小使用

phpcurl的几段小使用

时间:2021-07-01 10:21:17 帮助过:4人阅读

php curl的几段小应用

php 的CURL是不错的功能,下面收藏几段不错的片段?

1 测试网站是否运行正常?
?? Java代码? ?收藏代码

  1. ??
  2. ??if?(isDomainAvailible('http://gz.itownet.cn'))??
  3. ???????{??
  4. ???????????????echo?"Up?and?running!";??
  5. ???????}??
  6. ???????else??
  7. ???????{??
  8. ???????????????echo?"Woops,?nothing?found?there.";??
  9. ???????}??
  10. ??
  11. ???????//returns?true,?if?domain?is?availible,?false?if?not??
  12. ???????function?isDomainAvailible($domain)??
  13. ???????{??
  14. ???????????????//check,?if?a?valid?url?is?provided??
  15. ???????????????if(!filter_var($domain,?FILTER_VALIDATE_URL))??
  16. ???????????????{??
  17. ???????????????????????return?false;??
  18. ???????????????}??
  19. ??
  20. ???????????????//initialize?curl??
  21. ???????????????$curlInit?=?curl_init($domain);??
  22. ???????????????curl_setopt($curlInit,CURLOPT_CONNECTTIMEOUT,10);??
  23. ???????????????curl_setopt($curlInit,CURLOPT_HEADER,true);??
  24. ???????????????curl_setopt($curlInit,CURLOPT_NOBODY,true);??
  25. ???????????????curl_setopt($curlInit,CURLOPT_RETURNTRANSFER,true);??
  26. ??
  27. ???????????????//get?answer??
  28. ???????????????$response?=?curl_exec($curlInit);??
  29. ??
  30. ???????????????curl_close($curlInit);??
  31. ??
  32. ???????????????if?($response)?return?true;??
  33. ??
  34. ???????????????return?false;??
  35. ???????}??
  36. ?>??



2 可以代替file_gecontents的操作?
??? Java代码? ?收藏代码

  1. function?file_get_contents_curl($url)?{??
  2. ????$ch?=?curl_init();??
  3. ??
  4. ????curl_setopt($ch,?CURLOPT_HEADER,?0);??
  5. ????curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?1);?//Set?curl?to?return?the?data?instead?of?printing?it?to?the?browser.??
  6. ????curl_setopt($ch,?CURLOPT_URL,?$url);??
  7. ??
  8. ????$data?=?curl_exec($ch);??
  9. ????curl_close($ch);??
  10. ??
  11. ????return?$data;??
  12. }??



3 保存某个网站下的所有图片?
?? Java代码? ?收藏代码

  1. ??function?getImages($html)?{??
  2. ????$matches?=?array();??
  3. ????$regex?=?'~http://somedomain.com/images/(.*?)\.jpg~i';??
  4. ????preg_match_all($regex,?$html,?$matches);??
  5. ????foreach?($matches[1]?as?$img)?{??
  6. ????????saveImg($img);??
  7. ????}??
  8. }??
  9. ??
  10. function?saveImg($name)?{??
  11. ????$url?=?'http://somedomain.com/images/'.$name.'.jpg';??
  12. ????$data?=?get_data($url);??
  13. ????file_put_contents('photos/'.$name.'.jpg',?$data);??
  14. }??
  15. ??
  16. $i?=?1;??
  17. $l?=?101;??
  18. ??
  19. while?($i?
  20. ????$html?=?get_data('http://somedomain.com/id/'.$i.'/');??
  21. ????getImages($html);??
  22. ????$i?+=?1;??
  23. }??



4 FTP应用?
? Java代码? ?收藏代码

  1. //?open?a?file?pointer??
  2. $file?=?fopen("/path/to/file",?"r");??
  3. ??
  4. //?the?url?contains?most?of?the?info?needed??
  5. $url?=?"ftp://username:password@mydomain.com:21/path/to/new/file";??
  6. ??
  7. $ch?=?curl_init();??
  8. ??
  9. curl_setopt($ch,?CURLOPT_URL,?$url);??
  10. curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?1);??
  11. ??
  12. //?upload?related?options??
  13. curl_setopt($ch,?CURLOPT_UPLOAD,?1);??
  14. curl_setopt($ch,?CURLOPT_INFILE,?$fp);??
  15. curl_setopt($ch,?CURLOPT_INFILESIZE,?filesize("/path/to/file"));??
  16. ??
  17. //?set?for?ASCII?mode?(e.g.?text?files)??
  18. curl_setopt($ch,?CURLOPT_FTPASCII,?1);??
  19. ??
  20. $output?=?curl_exec($ch);??
  21. curl_close($ch); ?

?

人气教程排行