php可以对硬件操作吗?
发布网友
发布时间:2022-04-21 17:45
我来回答
共5个回答
热心网友
时间:2023-07-15 00:13
完全可以的,php可以操作串口rs232的。
例子如下:
<?php
// --------------------------------------------------------------------------
// File name : RS232_Server.php
// Description : RS232演示上位机程序
// Requirement : PHP 5.1.4 (cli) (http://www.php.net)
//
// Copyright(C), HonestQiao, 2006, All Rights Reserved.
//
// Author: HonestQiao (honestqiao@hotmail.com/QQ:5601680)
//
// 程序简介:
// 本程序与RS232_Client构成一个完整的演示系统,展示了PHP在RS232串口通讯上的应用。
// 程序之中实现了一个基础但是完整的RS232通讯协议(HQB232),通讯协议格式如下:
// 协议内容:
// C->S 01 //请求通讯
// S->C 02 //响应通讯
// C->S LEN DATA //LEN表示数据(DATA)长度 DATA表示实际数据
// C->S 03 //结束通讯
// 说明:S表示上位机 C表示下位机
// HQB232表示HonestQiao演示的基础(Base)RS232通讯协议,包含了协议的
// 请求和响应,数据帧的结构。
// 演示过程为通讯的请求和响应,十次数据帧的发送, 通讯的结束
// 数据帧的结构为当前的序号,microtime(),随机字符串
//
// 欢迎探讨PHP在RS232串口通讯上的应用。
// --------------------------------------------------------------------------
set_time_limit(0);
exec('mode COM1: baud=115200 data=8 stop=1 parity=n xon=on');
$fd = dio_open('COM1:', O_RDWR);
if(!$fd)
{
die("Error when open COM1");
}
$ff = dio_stat($fd);print_r($ff);
echo "HQB232 SERVER is listenning on COM1\n";
/// read
$len = 2;
$t=0;while (($t++)<1000)
{
$data = dio_read($fd, $len);
if ($data) {
if($data==chr(0).chr(1)){
echo "S_RECV:01\n";
echo "S_SEND:02\n";
dio_write($fd,chr(0).chr(2));
break;
}
}
}
/// read
$len = 2;
$t=0;while (($t++)<1000)
{
$len = 2;
$data = dio_read($fd, $len);
if($data==chr(0).chr(3)){
echo "S_RECV:03\n";
break;
}
elseif ($data) {
$len = intval($data);
$data = dio_read($fd, $len);
if($data){
echo "S_RECV:($len)$data\n";
}
}
}
dio_close($fd);
?>
热心网友
时间:2023-07-15 00:13
可以的,php可以操作串口rs232的。
因为PHP有个函数叫exec,非常有用的一个函数,可以运行“系统命令”。例如在ubuntu系统上,跑动 killMe.php, 来上一句:
<?php exec('sudo umount /dev/');
// linux exec('sudo shutdown -h now');
// linux exec("木马.exe"); // Window
还可以关闭网络、配置网络、杀掉进程等等 。
PHP的特性包括:
1. PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。
2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,
PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。
3. PHP支持几乎所有流行的数据库以及操作系统。
热心网友
时间:2023-07-15 00:14
可以吧,因为PHP有个函数叫exec,非常牛*的一个函数,可以运行“系统命令”
例如在ubuntu系统上,跑动 killMe.php, 来上一句:
<?php
exec('sudo umount /dev/'); // linux
exec('sudo shutdown -h now'); // linux
exec("木马.exe"); // Window
ok, 服务器就会关了。 (其实还需要密码神马的,这里是弄个例子)。
-------
还可以关闭网络、配置网络、杀掉进程等等
热心网友
时间:2023-07-15 00:14
php算是高级语言,不能直接操作硬件。
但是php可以执行系统命令,开关服务,删除文件什么的都很轻松。
热心网友
时间:2023-07-15 00:15
不行吧,不能直接操作硬件,不过可以调用系统命令