common.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkPHP [ WE CAN DO IT JUST THINK ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
  8. // +----------------------------------------------------------------------
  9. // | Author: 流年 <liu21st@gmail.com>
  10. // +----------------------------------------------------------------------
  11. // 应用公共文件
  12. function pre($content, $is_die = true)
  13. {
  14. header('Content-type: text/html; charset=utf-8');
  15. echo '<pre>' . print_r($content, true);
  16. $is_die && die();
  17. }
  18. /**
  19. * php发送http请求
  20. * @param array $params 相关请求参数
  21. * @param booble $is_json 数据格式,默认false为数组,true为json
  22. * @return string
  23. */
  24. function _curl(array $params,$is_json=false )
  25. {
  26. $_data = $params['data'] ?? null;
  27. $url = $params['url'];
  28. $defaults = [
  29. CURLOPT_HEADER => 0,
  30. CURLOPT_URL => $params['url'],
  31. CURLOPT_FRESH_CONNECT => 1,
  32. CURLOPT_RETURNTRANSFER => 1,
  33. CURLOPT_FORBID_REUSE => 1,
  34. CURLOPT_TIMEOUT => 60,
  35. CURLOPT_SSL_VERIFYHOST=>2,
  36. CURLOPT_SSL_VERIFYPEER=>0,
  37. ];
  38. switch ($params['method'])
  39. {
  40. case 'post':
  41. $defaults[CURLOPT_CUSTOMREQUEST] = "POST";
  42. break;
  43. case 'get':
  44. $defaults[CURLOPT_CUSTOMREQUEST] = "GET";
  45. break;
  46. case 'put':
  47. $defaults[CURLOPT_CUSTOMREQUEST] = "PUT";
  48. break;
  49. case 'delete':
  50. $defaults[CURLOPT_CUSTOMREQUEST] = "DELETE";
  51. break;
  52. }
  53. if ($_data && $params['method']!='get') {
  54. if($is_json){
  55. $defaults[CURLOPT_POSTFIELDS] = json_encode($_data);
  56. $defaults[CURLOPT_HTTPHEADER] = [
  57. 'Content-Type: application/json',
  58. 'Content-Length: ' . strlen(json_encode($_data))
  59. ];
  60. }else{
  61. $defaults[CURLOPT_POSTFIELDS] = $_data;
  62. }
  63. }elseif($params['method']=='get'){
  64. if(is_array($_data)){
  65. $param = '';
  66. foreach ($_data as $k=>$v){
  67. $param .= $k."=".$v."&";
  68. }
  69. $param = rtrim($param ,"&");
  70. if(!strpos($url,"?")){
  71. $url .= "?".$param;
  72. }else{
  73. $url .= "&".$param;
  74. }
  75. }
  76. $defaults[CURLOPT_URL] = $url;
  77. }
  78. $ch = curl_init();
  79. curl_setopt_array($ch, ($defaults));
  80. $result = curl_exec($ch);
  81. curl_close($ch);
  82. return $result;
  83. }