
正文
php获取硬件数据,php获取硬件数据的方法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用PHP实现网页直接操作硬件串口
用PHP实现网页直接操作硬件串口,网页通过串口控制硬件设备、发送指令,读取返回值。
读取ec,php值效果
实现方案:
1.网页端通过websocket与php后台服务交互
2.php后台接收指令操作串口,发送16进制指令给硬件设备
3.php后台将硬件设备返回值通过websocket,传递给网页端
4.网页端接收推送消息,显示在页面上。
相关问答
Q1: 在linux下使用php获取PC硬件可否?
在linux你执行dmidecode就可以查看你机器的硬件配置信息了。
帮你找了一个这样的东东,不知道对你有没有帮助:PHP调用COM获得服务器硬件信息
function sys_windows() {
$objLocator = new COM("WbemScripting.SWbemLocator");
$wmi = $objLocator-ConnectServer();
$prop = $wmi-get("Win32_PnPEntity");
//CPU
$cpuinfo = GetWMI($wmi,"Win32_Processor", array("Name","L2CacheSize","NumberOfCores"));
$res['CPU个数'] = $cpuinfo[0]['NumberOfCores'];
if (null == $res['CPU个数']) {
$res['CPU个数'] = 1;
}
for ($i=0;$i$res['cpu']['num'];$i++){
$res['CPU型号'] .= $cpuinfo[0]['Name']."br";
$res['二级缓存'] .= $cpuinfo[0]['L2CacheSize']."br";
}
// SYSINFO
$sysinfo = GetWMI($wmi,"Win32_OperatingSystem", array('LastBootUpTime','TotalVisibleMemorySize','FreePhysicalMemory','Caption','CSDVersion','SerialNumber','InstallDate'));
$res['操作系统版本'] = $sysinfo[0]['Caption']." ".$sysinfo[0]['CSDVersion'];
$res['操作系统序列号'] = "{$sysinfo[0]['SerialNumber']} 于".date('Y年m月d日H:i:s',strtotime(substr($sysinfo[0]['InstallDate'],0,14)))."安装";
//UPTIME
$res['最后重启时间'] = $sysinfo[0]['LastBootUpTime'];
$sys_ticks = 3600*8 + time() - strtotime(substr($res['最后重启时间'],0,14));
$min = $sys_ticks / 60;
$hours = $min / 60;
$days = floor($hours / 24);
$hours = floor($hours - ($days * 24));
$min = floor($min - ($days * 60 * 24) - ($hours * 60));
if ($days !== 0) $ress['day'] = $days."天";
if ($hours !== 0) $ress['hours'] .= $hours."小时";
$res['最后重启时间'] = $ress['day'].$ress['hours'].$min."分钟";
//MEMORY
$res['物理内存'] = $sysinfo[0]['TotalVisibleMemorySize'];
$res['剩余内存'] = $sysinfo[0]['FreePhysicalMemory'];
$res['已使用内存'] = $res['物理内存'] - $res['剩余内存'];
$res['使用率'] = round($res['已使用内存'] / $res['物理内存']*100,2);
$swapinfo = GetWMI($wmi,"Win32_PageFileUsage", array('AllocatedBaseSize','CurrentUsage'));
// TODO swp区获取
$res['交换分区'] = $swapinfo[0][AllocatedBaseSize];
$res['已经使用'] = $swapinfo[0][CurrentUsage];
$res['剩余内存'] = $res['swapTotal'] - $res['swapUsed'];
$res['使用率'] = (floatval($res['swapTotal'])!=0)?round($res['swapUsed']/$res['swapTotal']*100,2):0;
// LoadPercentage
$loadinfo = GetWMI($wmi,"Win32_Processor", array("LoadPercentage"));
$res['系统平均负载'] = $loadinfo[0]['LoadPercentage'];
return $res;
}
function GetWMI($wmi,$strClass, $strValue = array()) {
$arrData = array();
$objWEBM = $wmi-Get($strClass);
$arrProp = $objWEBM-Properties_;
$arrWEBMCol = $objWEBM-Instances_();
foreach($arrWEBMCol as $objItem) {
@reset($arrProp);
$arrInstance = array();
foreach($arrProp as $propItem) {
eval("\$value = \$objItem-" . $propItem-Name . ";");
if (empty($strValue)) {
$arrInstance[$propItem-Name] = trim($value);
} else {
if (in_array($propItem-Name, $strValue)) {
$arrInstance[$propItem-Name] = trim($value);
}
}
}
$arrData[] = $arrInstance;
}
return $arrData;
}
Q2: PHP能获取用户电脑配置信息吗?
不可以。
只能得到 诸如操作系统 和 浏览器
可以考虑用ip 或者 cookie 来做判断
ls几个兄弟 说的是获取服务器的信息 而非客户机
另
如何用PHP语言记录客户登录时的硬件信息,以便日后进行对比.
换句话说:当客户换机登录时,能判断出来.
这个矛盾的 既然换了机器 那硬件也不是不一样了吗?
Q3: php中有什么函数可以获取电脑硬件信息?
php语言对于c语言和java语言来说,并没有那么有权限去读取电脑硬件的信息,所以等大神来帮你把。或者是我们太菜了...







