首页 开发编程 正文

php数字符串怎么弄

$timeout){$data=json_encode($data);$ch=curl_init($url);$ret=curl_exec($ch);...

php数字符串怎么弄,gophp?

你需要的是$_REQUEST['url']?

还是说怎么拼接这个字符串?

php如何取出字符串中的每一个字符?

在php中,可以使用substr()函数从指定的字符串中取一部分出来。

php如何接收json数据?

根据个人理解PHP接收json数据有三种:获取json格式的请求参数;获取json文件中的数据;获取接口返回的寄送数据。下面将一一讲述:1、获取请求参数

$input = file_get_contents("php://input");

$input = json_decode($input,true);

var_dump($input);

2、获取文件中的json

$jsonStr = file_get_contents('src/xx.json');

$jsonObj = json_decode($jsonStr, true);

3、获取接口返回的json(以post请求为例)

function run_curl_json($url, $data, $timeout) {

$data = json_encode($data);

$ch = curl_init($url); //请求的URL地址

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($data)));

$ret = curl_exec($ch);

$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);

$jsonObj = json_decode($ret, true);

return ['data' => $jsonObj, 'code' => $httpCode];

}

以上三种方式中获取到的都是json字符串,然后通过json_decode将json字符串转为数组。

php如何获取客户端信息?

代码入下,只做参考

class userPCInfo{

//获取客户端浏览器

public static function get_client_browser(){

$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];

}else {

$exp[0] = "未知浏览器";

$exp[1] = "";

}

return $exp;

}

//获取客户端操作系统

public static function get_client_os(){

$agent = $_SERVER['HTTP_USER_AGENT'];

$os = false;

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) && preg_match('/PC/i', $agent)){

$os = 'Macintosh';

}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';

}else{

$os = '未知操作系统';

}

return $os;

}

//获取ip地址

public static function get_ip() {

//判断服务器是否允许$_SERVER

if (isset($_SERVER)) {

if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {

$realip = $_SERVER['HTTP_X_FORWARDED_FOR'];

} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {

$realip = $_SERVER['HTTP_CLIENT_IP'];

} else {

$realip = $_SERVER['REMOTE_ADDR'];

}

} else {

//不允许就使用getenv获取

if (getenv("HTTP_X_FORWARDED_FOR")) {

$realip = getenv("HTTP_X_FORWARDED_FOR");

} elseif (getenv("HTTP_CLIENT_IP")) {

$realip = getenv("HTTP_CLIENT_IP");

} else {

$realip = getenv("REMOTE_ADDR");

}

}

return $realip;

}

//获取当前ip所在城市

public static function GetIpLookup($ip = ''){

if(empty($ip)){

return '请输入IP地址';

}

$test= 'http://ip.taobao.com/service/getIpInfo.php?ip='.$ip;

$res = @file_get_contents($test);

return $res;

}

}

为什么使用php里面的json?

因为,比如你在用数组存array数,想要把数据存入数据库时,数组是存入不了的。需要把它转化成json字符串,所以需要用到json字符串。

本文转载自互联网,如有侵权,联系删除