一些常用PHP语句,适用在ThinkPHP5上(1)
来源:互联网 发布:淘宝订单改地址 编辑:程序博客网 时间:2024/06/17 05:31
1.发送GET/POST请求
/** * 发送post请求 * @author 翟翟 * @param string $url 请求地址 * @param array $data post键值对数据 * @return string */function curl_post_https($url,$data){ // 模拟提交数据函数 $headers=array('Content-Type: application/json'); $curl = curl_init(); // 启动一个CURL会话 curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在 curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转 curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包 curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环 curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $tmpInfo = curl_exec($curl); // 执行操作 if (curl_errno($curl)) { echo 'Errno'.curl_error($curl);//捕抓异常 } curl_close($curl); // 关闭CURL会话 return $tmpInfo; // 返回数据,json格式}/** * 发送GET请求 * @author 翟翟 * @param string $url 请求地址 * @return string */function curl_get_https($url){ $curl = curl_init(); // 启动一个CURL会话 curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在 $tmpInfo = curl_exec($curl); //返回api的json对象 //关闭URL请求 curl_close($curl); return $tmpInfo; //返回json对象}
2.获取客户端操作系统信息包
/** * 获取客户端操作系统信息包括win10 * @return string */function getOs(){ $agent = $_SERVER['HTTP_USER_AGENT']; if (preg_match('/win/i',$agent) && strpos($agent,'95')) { $os = 'Windows 95'; } else if (preg_match('/win 9x/i',$agent) && strpos($agent, '4.90')) { $os = 'Windows ME'; } else if (preg_match('/win/i',$agent) && preg_match('/98/i',$agent)) { $os = 'Windows 98'; } else if (preg_match('/win/i',$agent) && preg_match('/nt 6.0/i',$agent)) { $os = 'Windows Vista'; } else if (preg_match('/win/i',$agent) && preg_match('/nt 6.1/i',$agent)) { $os = 'Windows 7'; } else if (preg_match('/win/i',$agent) && preg_match('/nt 6.2/i',$agent)) { $os = 'Windows 8'; } else if (preg_match('/win/i',$agent) && preg_match('/nt 10.0/i',$agent)) { $os = 'Windows 10';#添加win10判断 } else if (preg_match('/win/i',$agent) && preg_match('/nt 5.1/i',$agent)) { $os = 'Windows XP'; } else if (preg_match('/win/i',$agent) && preg_match('/nt 5/i',$agent)) { $os = 'Windows 2000'; } else if (preg_match('/win/i',$agent) && preg_match('/nt/i',$agent)) { $os = 'Windows NT'; } else if (preg_match('/win/i',$agent) && preg_match('/32/i',$agent)) { $os = 'Windows 32'; } else if (preg_match('/linux/i',$agent)) { $os = 'Linux'; } else if (preg_match('/unix/i',$agent)) { $os = 'Unix'; } else if (preg_match('/sun/i',$agent) && preg_match('/os/i',$agent)) { $os = 'SunOS'; } else if (preg_match('/ibm/i',$agent) && preg_match('/os/i',$agent)) { $os = 'IBM OS/2'; } else if (preg_match('/Mac/i',$agent)) { $os = 'Mac'; } else if (preg_match('/PowerPC/i',$agent)) { $os = 'PowerPC'; } else if (preg_match('/AIX/i',$agent)) { $os = 'AIX'; } else if (preg_match('/HPUX/i',$agent)) { $os = 'HPUX'; } else if (preg_match('/NetBSD/i',$agent)) { $os = 'NetBSD'; } else if (preg_match('/BSD/i',$agent)) { $os = 'BSD'; } else if (preg_match('/OSF1/i',$agent)) { $os = 'OSF1'; } else if (preg_match('/IRIX/i',$agent)) { $os = 'IRIX'; } else if (preg_match('/FreeBSD/i',$agent)) { $os = 'FreeBSD'; } else if (preg_match('/teleport/i',$agent)) { $os = 'teleport'; } else if (preg_match('/flashget/i',$agent)) { $os = 'flashget'; } else if (preg_match('/webzip/i',$agent)) { $os = 'webzip'; } else if (preg_match('/offline/i',$agent)) { $os = 'offline'; } elseif (preg_match('/ucweb|MQQBrowser|J2ME|IUC|3GW100|LG-MMS|i60|Motorola|MAUI|m9|ME860|maui|C8500|gt|k-touch|X8|htc|GT-S5660|UNTRUSTED|SCH|tianyu|lenovo|SAMSUNG/i',$agent)) { $os = 'mobile'; } else { $os = '未知操作系统'; } return $os;}
3.获取客户端浏览器信息
/** * 获取客户端浏览器信息 添加win10 edge浏览器判断 * @return string */function getBroswer(){ $sys = $_SERVER['HTTP_USER_AGENT']; //获取用户代理字符串 if (stripos($sys, "Firefox/") > 0) { preg_match("/Firefox\/([^;)]+)+/i", $sys, $b); $exp[0] = "Firefox"; $exp[1] = $b[1]; //获取火狐浏览器的版本号 } elseif (stripos($sys, "Maxthon") > 0) { preg_match("/Maxthon\/([\d\.]+)/", $sys, $aoyou); $exp[0] = "傲游"; $exp[1] = $aoyou[1]; } elseif (stripos($sys, "MSIE") > 0) { preg_match("/MSIE\s+([^;)]+)+/i", $sys, $ie); $exp[0] = "IE"; $exp[1] = $ie[1]; //获取IE的版本号 } elseif (stripos($sys, "OPR") > 0) { preg_match("/OPR\/([\d\.]+)/", $sys, $opera); $exp[0] = "Opera"; $exp[1] = $opera[1]; } elseif (stripos($sys, "Edge") > 0) { //win10 Edge浏览器 添加了chrome内核标记 在判断Chrome之前匹配 preg_match("/Edge\/([\d\.]+)/", $sys, $Edge); $exp[0] = "Edge"; $exp[1] = $Edge[1]; } elseif (stripos($sys, "Chrome") > 0) { preg_match("/Chrome\/([\d\.]+)/", $sys, $google); $exp[0] = "Chrome"; $exp[1] = $google[1]; //获取google chrome的版本号 } elseif (stripos($sys, 'rv:') > 0 && stripos($sys, 'Gecko') > 0) { preg_match("/rv:([\d\.]+)/", $sys, $IE); $exp[0] = "IE"; $exp[1] = $IE[1]; } elseif (stripos($sys, 'Safari') > 0) { preg_match("/safari\/([^\s]+)/i", $sys, $safari); $exp[0] = "Safari"; $exp[1] = $safari[1]; } else { $exp[0] = "未知浏览器"; $exp[1] = ""; } return $exp[0] . '(' . $exp[1] . ')';}
4.返回带协议的域名
/** * 返回带协议的域名,只适用于ThinkPHP上 */function get_host(){ $host=$_SERVER["HTTP_HOST"]; $protocol=Request::instance()->isSsl()?"https://":"http://"; return $protocol.$host;}
5.强制下载
/** * 强制下载 * @param string $filename 文件路径 * @param string $content 下载页面显示内容 */function force_download_content($filename, $content){ header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: application/force-download"); header("Content-Transfer-Encoding: binary"); header("Content-Disposition: attachment; filename=$filename"); echo $content; exit ();}
6.返回json数据
// 返回json数据function ajaxReturn($data){ header('Content-Type:application/json; charset=utf-8'); exit(json_encode($data));}
7.关联数组转字符串
/** * @author 翟翟 * 关联数组转字符串 * @param string $split 分割符 * @param string $array 关联数组 * @return string 返回用分割符分割的字符串 */function relatearray2string($split, $array = array()){ if ($array) { foreach ($array as $key => $value) { $arraystr[] =$key.'='.$value; } $arraystr=implode($split,$arraystr); return $arraystr; }else{ return ''; }}
用法:
$sl_data=array( 'name'=>'张三', 'age'=>'18',);echo relatearray2string('=',$sl_data);
输出:name=张三,age=18
8.自动跳转到其他服务器
$gotourl="http://www.baidu.com";header("refresh:0;url=$gotourl");//0秒后跳转到www.baidu.comprint('<div style="width:100%;margin-top:35vh;text-align:center;">正在加载,请稍等...<br>3秒后自动跳转到新网址~~~</div>');
阅读全文
0 0
- 一些常用PHP语句,适用在ThinkPHP5上(1)
- thinkphp5在SAE上部署隐藏index.php
- 一些常用语句1
- php中一些常用的语句
- php中一些常用的语句收集
- mysql和oracle在sql语句上的一些区别
- 一些常用语句,放在这里以后用
- ABAP 一些常用语句
- zencart常用一些语句
- mysql常用一些语句
- thinkphp5.0部署在nginx服务器的一些疑难杂症
- PHP常用语句
- PHP-常用的语句
- 常用PHP语句
- php常用语句
- php常用SQL语句
- 在华为云服务器上搭建OTA服务器之thinkphp5
- thinkphp5 在 sae上部署的基本配置
- nodejs install
- [agc014c]Closed Rooms
- pwnable.kr 【fd】
- 短信轰炸机
- Unity Shader 学习笔记(10) 纹理(Texture)的属性
- 一些常用PHP语句,适用在ThinkPHP5上(1)
- arm 堆栈
- Android SpannableString---打造带样式的textview
- Spring Boot 事务的使用
- erlang中的错误处理
- Hibernate中的merge方法 以及对象的几中状态
- CSS Modules 用法教程
- JDBC--获得ResultSet的记录个数、字段个数(转载)
- Java并发编程75道面试题及答案——稳了