$tem = array();
foreach ($this->result as $val) {
if (preg_match("/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i",
$val, $tem)) {
$this->macAddr = $tem[0];//多个网卡时,会返回第一个网卡的mac地址,一般够用。
break;
//$this->macAddrs[] = $temp_array[0];//返回所有的mac地址
unset($temp_array);
return $this->macAddr;
//Linux系统
function getLinux()
@exec("ifconfig -a", $this->result);
return $this->result;
//Windows系统
function getWindows()
@exec("ipconfig /all", $this->result);
if ($this->result) {
return $this->result;
} else {
$ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";
if (is_file($ipconfig)) {
@exec($ipconfig." /all", $this->result);
} else {
@exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->result);
return $this->result;
$obj = new GetMac(PHP_OS);
print_r($obj->result);
echo $obj->macAddr;
//获取客户端
//$result=`arp -a $REMOTE_ADDR`;
//$result=`nbtstat -a $REMOTE_ADDR`;
//print_r($result);
exit;
获取网卡的MAC地址原码;目前支持WIN/LINUX系统
获取机器网卡的物理(MAC)地址
class GetMacAddr{
var $return_array = array(); // 返回带有MAC地址的字串数组
var $mac_addr;
function GetMacAddr($os_type){
switch ( strtolower($os_type) ){
case "linux":
$this->forLinux();
break;
case "solaris":
break;
case "unix":
break;
case "aix":
break;
default:
$this->forWindows();
break;
$temp_array = array();
foreach ( $this->return_array as $value ){
preg_match("/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i",$value,
$temp_array ) ){
$this->mac_addr = $temp_array[0];
break;
unset($temp_array);
return $this->mac_addr;
function forWindows(){
@exec("ipconfig /all", $this->return_array);
if ( $this->return_array )
return $this->return_array;
else{
$ipconfig = $_SERVER["WINDIR"]."system32ipconfig.exe";
if ( is_file($ipconfig) )
@exec($ipconfig." /all", $this->return_array);
@exec($_SERVER["WINDIR"]."systemipconfig.exe /all", $this->return_array);
return $this->return_array;
function forLinux(){
@exec("ifconfig -a", $this->return_array);
return $this->return_array;
//方法使用
$mac = new GetMacAddr(PHP_OS);
echo $mac->mac_addr;
3.11、json 处理gbk转码utf-8问题( json_encode转换数组,值为null)
3.12、Unicode解码
3.13、【PHP】实现搜索引擎中把搜索结果命中的关键字标记红色
3.14、字符串截取
3.15、去除字符串中的指定字符
四、文档目录操作
4.1、转化 \ 为 /
4.2、创建目录
4.3、拷贝目录及下面所有文件
4.4、转换目录下面的所有文件编码格式
4.5、列出目录下所有文件
4.6、设置目录下面的所有文件的访问和修改时间
4.7、目录列表
4.8、删除目录及目录下面的所有文件
4.9、取得文件扩展
4.10、查询字符是否存在于某字符串
4.11、获取文件目录列表
4.12、删除一个路径下的所有文件夹和文件的方法
4.13、文件下载
4.14、写入文件日志
4.15、移动文件封装方法
五、session与cookie
5.1、设置session
5.2、读取session
5.3、清除session
六、CURL操作
6.1、发起get请求
6.2、发起post请求
6.3、curl获取跳转后的网址的url
6.4、curl判断远程图片是否加防盗链
6.5、curl获取301页面的内容
6.6、curl判断文件是否存在(404)
6.7、php的curl封装类
七、日期、时间与字节转换
7.1、转换字节数为其他单位(Gb、Mb等)
7.2、时间转换(将秒转换为时间)
7.3、将秒转换成 天-时分秒
7.4、时间转换(将时分秒转换为秒)
7.5、计算两个时间相差的天
7.6、获取文件大小并格式化
7.7、返回13位时间戳
7.8、返回与当前时间的差距,如1分钟前,2小时前,5月前等
7.8、PHP中DateTime的常用方法
7.9、生日(身份证号)转年龄
7.10、密码加密方法
八、对象、数组、字符串、转义等
8.1、将数组转换为对象
8.2、将对象转换为数组
8.3、将字符串转换为数组
8.4、将数组转换为字符串
8.5、将文本格式成适合js输出的字符串
8.6、返回经addslashes(转义)处理过的字符串或数组
8.7、返回经stripslashes(删除反斜杠)处理过的字符串或数组
8.8、返回经htmlspecialchars(字符转html)处理过的字符串或数组
8.9、安全过滤函数
8.10、xss过滤函数
8.11、过滤ASCII码从0-28的控制字符
8.12、格式化文本域内容
8.13、将文本格式成适合js输出的字符串
8.14、转义 javascript 代码标记
8.15、数组转码
8.16、php用逗号格式化数字
8.17、数组去重
8.18、字符串去重
8.19、数组排序
8.20、兼容低版本的array_column
8.21、把返回的数据集转换成Tree
8.22、判断字符串是否为已经序列化过
8.23、截取指定两个字符之间字符串
九、加密扩展
9.1、简单的字符串加密、解密函数
9.2、简单的加密解密类【弃用】
9.3、简单对称加密算法2
9.4、常用对称加密算法(DES/AES)类
9.5、3des加密解密类-三重数据加密算法【弃用】
9.6、PHP7.* DES的加密解密
9.7、加密解密函数
十、随机数、获取请求ip等
10.1、产生随机字符串
10.2、获取请求ip
10.3、生成一定范围内的随机数字
10.4、生成不重复的随机数
10.5、生成一定数量的随机数,并且不重复
10.6、生成32位随机数
10.7、生成9位随机数字(可以做qq用)
10.8、创建优惠券、会员卡号
10.9、php判断是否梯子访问
10.10 IP地区判断
10.11获取操作系统、浏览器信息
10.12、根据各种类型变量生成唯一标识符
PHP 生成不重复唯一标识 session_create_id()
十一、其他
11.1、php对html页面压缩函数
11.2、构建层级(树状)数组、
11.3、获取内容中的图片
11.4、生成sql语句,如果传入$in_cloumn 生成格式为 IN('a', 'b', 'c')
11.5、打印各种类型的数据,调试程序时使用。
11.6、URL重定向
11.7、替换html代码里的所有图片的url,新增url
11.8、去除html里的p标签
11.9、去除字符串中所有html代码(格式化代码html)
11.10、将number_format的输出转换为php数字
11.11、使用Jquery插件jsonview来展示json数据
11.12、input()接收数据(get,post等)
11.13、return_json
11.14、图片合成
11.15、将var_export 格式化为5.4数组
11.16、生成文件后缀图片
11.17、跨域检测
11.18、切分SQL文件成多个可以单独执行的sql语句
11.19、XML编码
11.20、分享URL压缩
11.21、PHP抓取远程图片到本地保存
11.22、PHP网址缩短算法代码(修复PHP7.0问题)
11.23、input xss clear
11.24、获取远程图片显示(远程403)
11.7、内容里批量替换图片的url地址为自己的地址
十二、类库
1、php 5.6.3PHP封装的数据库模型Model类完整示例【基于PDO】
2、Curl类库
3、php PDO数据库类库
4、获取网站title
5、极光推送类
6、php中文转拼音类
7、php 提取HTML文章中的图片地址类
8、php FTP操作类
php获取MAC地址
9、【PHP】使用phpoffice/phpexcel,导入导出数据
10、根据ip解析为地区-省市
11、PHP PUT方式上传
12、Env环境变量类库
13、图片裁剪并缓存
14、翻译类库【有道、百度】
15、xml数据的创建与读取
16、微信公众号关键词自动回复
17、功能强大的php文件上传类