PHP发送请求头和接收打印请求头
发布时间:2016-09-14, 10:40:52 分类:PHP | 编辑 off 网址 | 辅助
正文 706字数 434,020阅读
一、发送请求头//发送地址
$url = 'http://127.0.0.1/2.php';
//请求头内容
$headers = array(
'Authorization: '.$basic,
'suibianzhi: '.$basic,
);
//使用curl发送
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
Run code
Cut to clipboard
二、接收并打印请求头
$headers = array();
foreach ($_SERVER as $key => $value) {
if ('HTTP_' == substr($key, 0, 5)) {
$headers[str_replace('_', '-', substr($key, 5))] = $value;
}
}
echo '';
print_r($headers);
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
有过 4 条评论 »
函数代码:
//判断电脑或手机访问 function is_mobile(){ $user_agent = $_SERVER['HTTP_USER_AGENT']; $mobile_agents = Array("240x320","acer","acoon","acs-","abacho","ahong","airness","alcatel","amoi","android","anywhereyougo.com","applewebkit/525","applewebkit/532","asus","audio","au-mic","avantogo","becker","benq","bilbo","bird","blackberry","blazer","bleu","cdm-","compal","coolpad","danger","dbtel","dopod","elaine","eric","etouch","fly ","fly_","fly-","go.web","goodaccess","gradiente","grundig","haier","hedy","hitachi","htc","huawei","hutchison","inno","ipad","ipaq","ipod","jbrowser","kddi","kgt","kwc","lenovo","lg ","lg2","lg3","lg4","lg5","lg7","lg8","lg9","lg-","lge-","lge9","longcos","maemo","mercator","meridian","micromax","midp","mini","mitsu","mmm","mmp","mobi","mot-","moto","nec-","netfront","newgen","nexian","nf-browser","nintendo","nitro","nokia","nook","novarra","obigo","palm","panasonic","pantech","philips","phone","pg-","playstation","pocket","pt-","qc-","qtek","rover","sagem","sama","samu","sanyo","samsung","sch-","scooter","sec-","sendo","sgh-","sharp","siemens","sie-","softbank","sony","spice","sprint","spv","symbian","tablet","talkabout","tcl-","teleca","telit","tianyu","tim-","toshiba","tsm","up.browser","utec","utstar","verykool","virgin","vk-","voda","voxtel","vx","wap","wellco","wig browser","wii","windows ce","wireless","xda","xde","zte"); $is_mobile = false; foreach ($mobile_agents as $device) { if (stristr($user_agent, $device)) { $is_mobile = true; break; } } return $is_mobile; }
调用方式:
//返回true或false is_mobile();
函数代码:
/** * 获取时间戳 * $Ymd = Y 年 * $Ymd = m 月 * $Ymd = d 日 * $Ymd = NULL 当前时间戳 * $xia = true 是否取下次开始时间戳:取下年开始时间戳 或者下月开始时间戳 或者明日开始时间戳 */ function getTime($Ymd=NULL,$xia=false){ if($Ymd=='Y' && $xia==true){ //取下个年度开始时间戳 return strtotime((date('Y',time())+1).'-01-01 00:00:00'); } else if($Ymd=='Y'){ //取本年度开始时间戳 return strtotime(date('Y',time()).'-01-01 00:00:00'); } else if($Ymd=='m' && $xia==true){ //取下个月度开始时间戳 $xiayue_nianfen = date('Y',time()); $xiayue_yuefen = date('m',time()); if($xiayue_yuefen==12){ $xiayue_nianfen += 1; //如果月份等于12月,那么下月年份+1 $xiayue_yuefen = 1; //如果月份等于12月,那么下月月份=1月 } else{ $xiayue_yuefen += 1; //如果月份不是12月,那么在当前月份上+1 } return strtotime($xiayue_nianfen.'-'.$xiayue_yuefen.'-01 00:00:00'); } else if($Ymd=='m'){ //取本月度开始时间戳 return strtotime(date('Y-m',time()).'-01 00:00:00'); } else if($Ymd=='d' && $xia==true){ //取明日开始时间戳 return strtotime(date('Y-m-d',time()).' 00:00:00')+86400; } else if($Ymd=='d'){ //取今日开始时间戳 return strtotime(date('Y-m-d',time()).' 00:00:00'); } else{ //取当前时间戳 return time(); } }
调用代码:
getTime('Y'); //当前年的时间戳 getTime('m'); //当前月的时间戳 getTime('d'); //当前日的时间戳 getTime('Y',true); //明年的时间戳 getTime('m',true); //下月的时间戳 getTime('d',true); //明日的时间戳 getTime(); //当前的时间戳
<?php // 创建画布 $width = 120; // 规定画布的宽高 $height = 45; $image = imagecreatetruecolor($width, $height); // 创建一幅真彩色图像 // 添加一些即将用到的颜色 $white = imagecolorallocate($image, 0xf2, 0xec, 0xe0); $orange = imagecolorallocate($image, 0xff, 0xa5, 0x4c); // 对画布背景填充颜色 imagefill($image, 0, 0, $white); //mt_rand 获取随机数 mt_rand(min, max); function str_rand(){ $str="abcdefghijkmnpqrstuvwxyz0123456789ABCDEFGHIGKLMNPQRSTUVWXYZ"; $rand=""; for($i=0; $i<5; $i++){//获取5个随机的字符串 $rand .= $str[mt_rand(0, strlen($str)-1)]; //如:随机数为30 则:$str[30] } return $rand; } $verifyCode=str_rand(); // 画一串字符串在画布上 imagestring($image, 10, 10, 10, "$verifyCode", $orange); // 通知浏览器输出的是图像(png类型) header('Content-Type: image/png'); // 输出到浏览器 imagepng($image); // 释放图像资源
备注:建议大家用mt_rand(),而不是rand(),前者效率更高
<?php //mt_rand 获取随机数 mt_rand(min, max); $str="abcdefghijkmnpqrstuvwxyz0123456789ABCDEFGHIGKLMNPQRSTUVWXYZ";//设置被随机采集的字符串 $codeLen='5';//设置生成的随机数个数 function str_rand($str,$codeLen){ $rand=""; for($i=0; $i<$codeLen-1; $i++){ $rand .= $str[mt_rand(0, strlen($str)-1)]; //如:随机数为30 则:$str[30] } return $rand; } $code=str_rand($str,$codeLen);