欢迎！【Welcome!】[置顶]
评论区已开放扣你几哇！欢迎来到阿长的个人小站，阿长在这里非常欢迎你的大驾光临！！本站提供以下服务：部分数据查询在线工具站各类资源展示阿长的各类技术、趣事or日志的记录本站所有内容均为阿长亲手编辑或整理（除部分特殊表明的内容外），如有侵权请联系删除关于 【阿长】本人05年已满18，编辑这篇文章的时候已18.5岁哈哈，目前高三在读生，苦哭苦趁我还没有毕业快祝我高考顺利呀！暂时没有任何介绍，因为我懒...要不要把身份证号报给你啊？（/滑稽）日子过的渐渐无味没有惊喜也没有意外
最近我们的新网站——云礼辰星，在最近被攻击了，请注意我们的新网站地址为：www.treatstars.com，并没有其他的镜像站。如果您发现进入的“云礼辰星”的域名为以下两个网址，请马上退出，这是攻击者的钓鱼网站，目前阿长已经屏蔽了该服务器的IP，但不保证该钓鱼网站已失效。以下为攻击者的网址navi.yjscreen.cnservice.cascreen.cn请大家仔细甄别
提前声明，这个文章是heiyaha闲的蛋疼写的本文章为原说明的一些小小的补充原说明请移步至欢迎！【Welcome!】咳咳，欢迎大家来到阿长的小窝（虽然说也不会有人看）但是会对部分行为做出限制，也会持续补充条例。**评论规定** 用户应当：回复与这个贴子所讨论的主题相关的内容。正确地使用回复功能。正确地使用 Markdown 。使用较为得体的语言和语气。用户不应：发布政治敏感、色情、人身攻击等根据常理无法接受的内容。在贴子内随意 at 管理员以及无关人士。发布与该帖讨论的内容无关内容，包括但不限于玩烂梗、发垃圾小广告等等。如果出现有以上情况，请及时告知阿长或管理员违反上述规定者，将会视情节严重程度处以删除/禁言/封号的惩罚。若发布质量极低者，一次即可禁言。如果事情严重，阿长会主动告知重庆监管部门。>
PHP获取客户端设备类型，浏览器版本型号，IP地址，具体地理位置信息
客户端设备类型（Windows、Mac、ihpone、Android、Linux等）//客户端设备类型（Windows、Mac、ihpone、Android、Linux等） function getClientOsInfo(){ $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'; }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('/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 = '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'; } else if (preg_match('/ipod/i', $agent)) { $os = 'ipod'; } else if (preg_match('/ipad/i', $agent)) { $os = 'ipad'; } else if (preg_match('/iphone/i', $agent)) { $os = 'iphone'; } else if (preg_match('/android/i', $agent)) { $os = 'Android'; } else if (preg_match('/linux/i', $agent)) { $os = 'Linux'; } else if (preg_match('/unix/i', $agent)) { $os = 'Unix'; } else { $os = '未知操作系统'; } return $os; }获取客户端浏览器类型及版本型号//获取客户端浏览器类型及版本型号 function getClientBroswerInfo(){ $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 (strpos($sys, 'MicroMessenger') !== false ){ preg_match('/MicroMessenger\/([\d\.]+)/i',$sys,$weixn); $exp[0] = "微信浏览器"; $exp[1] = $weixn[1]; } else { $exp[0] = "未知浏览器"; $exp[1] = ""; } return $exp[0].'('.$exp[1].')'; }获取客户端真实IP//获取客户端真实IP function getClientIpInfo(){ $ip = false; if(!empty($_SERVER["HTTP_CLIENT_IP"])) { $ip = $_SERVER["HTTP_CLIENT_IP"]; } //多重代理服务器下的客户端真实IP地址（可能伪造）,如果没有使用代理，此字段为空 if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']); if ($ip) { array_unshift($ips, $ip); $ip = FALSE; } for ($i = 0; $i < count($ips); $i++) { if (!eregi ("^(10│172.16│192.168).", $ips[$i])) { $ip = $ips[$i]; break; } } } //客户端IP 或 最后一层代理服务器 IP return ($ip ? $ip : $_SERVER['REMOTE_ADDR']); }获取客户端IP所在地理位置//获取客户端IP所在地理位置 function getClientAddress($ip) { //$ip = getClientIpInfo(); $ipInfo = file_get_contents("https://apikey.net/?ip=".$ip); $ipInfo = json_decode($ipInfo,true); if(isset($ipInfo['code']) && $ipInfo['code']==200){ return $ipInfo['address']; }else{ return '未知'; } } ———————————————— 原文链接:https://blog.csdn.net/qq_31766533/article/details/126468938
Mysql新建表，插入中文时报错“Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column”问题
有时候我们在往数据库中输入信息时，如果输入的内容是中文，会报错“Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column”。例如：CREATE TABLE test(ID INT PRIMARY KEY AUTO_INCREMENT, test_name VARCHAR(20) , test_num INT); /建立一个表/insert into test(test_name) values('你好'); /建表之后插入一条带有中文的数据/解决的方法：1、在建立表时设置默认字符串编码方式为utf8CREATE TABLE test2(ID INT PRIMARY KEY AUTO_INCREMENT, test_name VARCHAR(20) , test_num INT)default charset = utf8; /建立一个表，加上“default charset = utf8”，设置默认字符串编码方式为utf8。/insert into test2(test_name) values('你好'); /建表之后插入一条带有中文的数据/这次就可以成功添加2、已经添加的表，需要设置一下：ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;ALTER TABLE test CONVERT TOCHARACTER SET utf8 COLLATE utf8_unicode_ci; /例如刚刚建立的test表，插入中文时会报错，现在对其进行设置/insert into test(test_name) values('你好'); /设置之后插入一条带有中文的数据/3、直接修改数据库的字符串编码属性：ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ciALTER DATABASE testdb CHARACTERSET utf8 COLLATE utf8_unicode_ci; /修改数据库testdb的编码方式/CREATE TABLE testdb.test3(ID INT PRIMARY KEY AUTO_INCREMENT, test_name VARCHAR(20) , test_num INT)default charset = utf8; /建立一个表，加上“default charset = utf8”，设置默认字符串编码方式为utf8。/insert into testdb.test3(test_name) values('你好'); /建表之后插入一条带有中文的数据/文章转自：https://www.cnblogs.com/wangjikun/p/5687370.html