php获取本机mac地址三种方法
代码如下 | 复制代码 |
class getmacaddr function forwindows() function forlinux() |
//方法二
代码如下 | 复制代码 |
qstring getlocalmac() { int sock_mac; struct ifreq ifr_mac; char mac_addr[30]; sock_mac = socket( af_inet, sock_stream, 0 ); if( sock_mac == -1) { perror("create socket falise...mac "); return ""; } memset(&ifr_mac,0,sizeof(ifr_mac)); strncpy(ifr_mac.ifr_name, "eth0", sizeof(ifr_mac.ifr_name)-1); if( (ioctl( sock_mac, siocgifhwaddr, &ifr_mac)) < 0) { printf("mac ioctl error "); return ""; } sprintf(mac_addr,"%02x%02x%02x%02x%02x%02x", (unsigned char)ifr_mac.ifr_hwaddr.sa_data[0], (unsigned char)ifr_mac.ifr_hwaddr.sa_data[1], (unsigned char)ifr_mac.ifr_hwaddr.sa_data[2], (unsigned char)ifr_mac.ifr_hwaddr.sa_data[3], (unsigned char)ifr_mac.ifr_hwaddr.sa_data[4], (unsigned char)ifr_mac.ifr_hwaddr.sa_data[5]); printf("local mac:%s ",mac_addr); close( sock_mac ); return qstring( mac_addr ); } |
//用c实现的
代码如下 | 复制代码 |
int getalllocaladaptermacaddr(std::list<std::vector<unsigned char> >& mac) { ncb ncb; lana_enum adapterlist;
memset(&ncb, 0, sizeof(ncb)); ncb.ncb_command = ncbenum; ncb.ncb_buffer = (unsigned char *)&adapterlist; ncb.ncb_length = sizeof(adapterlist); netbios(&ncb);
mac.resize(0);
for (int i = 0; i < adapterlist.length ; ++i ) { struct astat { adapter_status adapt; name_buffer ps教程z_name[30]; } adapter;
// reset the lan adapter so that we can begin querying it ncb ncb; memset( &ncb, 0, sizeof (ncb)); ncb.ncb_command = ncbreset; ncb.ncb_lana_num = adapterlist.lana[i];
if (netbios(&ncb) != nrc_goodret) continue;
// prepare to get the adapter status block memset(&ncb, 0, sizeof(ncb)) ; ncb.ncb_command = ncbastat; ncb.ncb_lana_num = adapterlist.lana[ i ]; strcpy((char *)ncb.ncb_callname, "*" );
memset(&adapter, 0, sizeof (adapter)); ncb.ncb_buffer = (unsigned char *)&adapter; ncb.ncb_length = sizeof (adapter);
// get the adapter's info and, if this works, return it in standard, // colon-delimited form. if ( netbios( &ncb ) == 0 ) { std::vector<unsigned char> v6; v6.resize(6); for (int i=0; i<6; i++) v6[i] = adapter.adapt.adapter_address[i]; if (v6[0] == 0) { std::list<std::vector<unsigned char> >::iterator i = mac.begin(); for (; i!=mac.end(); i++) if (*i == v6) break; if (i==mac.end()) mac.push_back(v6); } } else break; } return 0; } |
//最简单的方法
代码如下 | 复制代码 |
$ip = $_server["remote_addr"]; echo $ip; |
//最实用获取用户ip地址代码
代码如下 | 复制代码 |
function get_real_ip() { $ip=false; if(!empty($_server["http_client_ip"])) { $ip = $_server["http_client_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; } } } return ($ip ? $ip : $_server['remote_addr']); } echo get_real_ip(); |
//获取ip地址与端口号
代码如下 | 复制代码 |
$ip =$_server["remote_addr"]; $port = $_server['remote_port']; echo $ip.$port; |
//有一点意思
代码如下 | 复制代码 |
if(getenv('http_client_ip')) { $onlineip = getenv('http_client_ip'); } elseif(getenv('http_x_forwarded_for')) { $onlineip = getenv('http_x_forwarded_for'); } elseif(getenv('remote_addr')) { $onlineip = getenv('remote_addr'); } else { $onlineip = $http_server_vars['remote_addr']; } echo $onlineip; echo " "; |
//利用qq接口
代码如下 | 复制代码 |
function get_ip_place(){ $ip=file_get_contents("http://fw.qq.com/ipaddress"); $ip=str_replace('"',' ',$ip); $ip2=explode("(",$ip); $a=substr($ip2[1],0,-2); $b=explode(",",$a); return $b; } $ip=get_ip_place(); print_r($ip); |
下面这款匹配中文字符串正则表达式是一款利用数组,然后 多次for把全是中文字符串的打印出来。
代码如下 | 复制代码 |
$str_arr = array( $patt_ch = chr(0xa1) . "-" . chr(0xff); foreach ($str_arr as $str) |
/*
字符串'iameverysorry' 是非完全中文
字符串'快乐编程,快乐生活' 是完全中文
字符串'php编程' 是非完全中文
字符串'1997年香港回归' 是非完全中文
字符串'英语学习abc' 是非完全中文
字符串'123456789' 是非完全中文
*/
代码如下 | 复制代码 |
$dir = "d: iles"; $file_list1 = scandir($dir); echo "<pre>"; |
//改变目录
代码如下 | 复制代码 |
echo "php当前的工作目录:"; echo "<br/>"; chdir("dir_test"); //改变工作目录至当前目录的dir_test目录下 echo "<br/>"; echo getcwd(); |
<html>
<head><title>php 文件上传简单实例应用</title></head>
<body>
代码如下 | 复制代码 |
<!-- 表单的enctype属性必须指定为multipart/form-data --> </body> |
3.php文件
代码如下 | 复制代码 |
<?php if(move_uploaded_file($_files['myfile']['tmp_name'],$dest_file)) |
相关文章
- 下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
php 中file_get_contents超时问题的解决方法
file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25- php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
- php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
- php获取一个文件夹的mtime的程序了,这个就是时间问题了,对于这个问题我们来看小编整理的几个例子,具体的操作例子如下所示。 php很容易获取到一个文件夹的mtime,可以...2016-11-25
- 相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
- 下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
- ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
- 获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。 更好的办法是通过google提供的服务来实现:http://www.google.com/s2/favi...2014-06-07
intellij idea快速查看当前类中的所有方法(推荐)
这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02- 1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
js导出table数据到excel即导出为EXCEL文档的方法
复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13- 批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
- 主要功能:获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 :$(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 :$(document).width();...2015-10-21
- ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果̳...2017-07-06
- 本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法
手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21- 最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
- 单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25
- javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: 复制代码 代码如下: document.all["panelsms"].style.visibility="hidden"; document.all["panelsms"].style.visi...2013-10-13