• 论如何优雅地远程关闭电脑(PHP网页控制)

    说明

    启发于小米无线开关,都知道米家的无线通断开关,可以远程使用手机开启与关闭接通的电器。

    然而,众所周知,家里的一些电器,是无法简单通过开关的闭合来安全的关闭的,比如电脑计算机设备。

    如果你的电脑开关机是通过小米的无线开关断开电源(类似于直接拔插座的行为关闭的)很有可能会造成数据损坏,丢失,严重的可能对硬件造成损坏,最好的办法是,在电脑上,点击开启关闭,让系统自行调整完备后关闭。

    但是,小米的无线开关铁定是不行了。那么,思路就是在软件层面实现

     

    定时操作 1.0

    这是一个自己写的定时关机小程序,功能很简单。用户可以在电脑上设定定时,然后会根据选项定时关机重启或者注销,写个这个小程序其实并不难。

     

    工具虽然方便,但问题来了, 我不想在电脑上操作,假设说我现在出门,我不确定啥时候关机,我想电脑保持开机的状态,然后我搁外头,想啥时让家里的电脑关了就让他关了。

    在1.0的基础上,我画了个图给大伙儿介绍下我的思路。

    定时操作2.0

    具体是这样的。远程控制电脑关机需要你有一个服务器,一般用户其实用主机空间就成,目的是用于你的控制设备以及电脑之间“通讯的桥梁”

    我做了两个工作

    1.是创建一个在服务器端运行的存储开关机指令的PHP程序,比较惭愧,我是直接拿typecho这个博客程序修改为我存储指令的程序。

    好处1:我不用重新写一个php+mysql的存储系统了,而是直接拿现成的修改。

    好处2:他们有完备的面向用户的安装界面,我不用自己写,用户填写数据库信息在网页上能很方便建立

    2.制作远程操作 2.0的电脑端程序

     

    原理:电脑端程序在运行状态下会连接到远程服务器的存储指令的页面。如果达成设计的条件:电脑执行命令(关机),不满足条件,不关机。

     

    细节:(需要注意的点)。

    服务器端程序以及电脑端程序中,都定义一个变量,数值:0和1,服务器端写入数据库。而电脑端中这个变量会被程序写到本地配置项中。默认为0

    运行机制:周期性访问服务端,获取服务端数据返回

    条件:返回获取的服务端数据,就会根据条件进行判断。若服务器端和电脑端程序的数据一致:

    都为1或者都为0,满足条件执行关机指令。

    具体实际情况我想用文字和大伙说明下:

    电脑端默认为0,服务器端为1。(默认状态),不满足,不执行。

    场景1:这时我在外头,想起家里电脑没关闭,不用回家了。拿出手机,进入服务器端网页,进入页面

    (这是目前设计的界面,比较简陋,就是纯粹的数据修改,未来会改成直接一个按钮,点击按钮后台修改数值保存到数据库这样。)

    将数值改成0.

    这时候,电脑端获取到更新的数值和本地一致(都为0),他不会马上关机,他会把本地的数值改为1。

    然后执行关机指令。

    场景2:回了家,打开电脑,这时候程序会再次到服务器获取数值,但本地数值为1,远程为0.同样,不会关机。

    场景3:然后我又出门了,又拿出手机,进入网页,修改数值,ok,关机。

     

    有没有发现,没错,这是被设定好的一个循环,如果没有划黄线处的操作,那么就会一直自动关机。这样的办法是为了等到下次你想关机的时候取网页修改然后关机做铺垫。

     

     

    整个程序设计的流程。思路就是这样,下面是实现的视频。

    对吧,非常便捷,非常优雅,效率杠杠得提升。

    明天上传吧,现在有点晚了

    首次撰写一篇文章(首次填写内容为1,标题任意):

    域名(IP)/admin/write-post.php

    若遗忘了文章发布的链接可进此处查找

    域名(IP)/admin/manage-posts.php

    开关页面(修改此处,填写0和1以控制电脑远程关机)

    域名(IP)/admin/write-post.php?cid=3

     

    在吾爱又写了份教程:https://www.52pojie.cn/thread-1221680-1-1.html

    操作演示:https://m.weibo.cn/2401091225/4527961719710099

    源码:https://wwa.lanzous.com/iXqNDep7xcb

     

    API实现修改QQ昵称或者修改微云、QQ收藏内的数据,远程关机:

    API附上:源码里头自己爬取即可

    http://api.uomg.com/doc-qq.info.html

    http://api.uomg.com/doc-get.weiyun.html

     

    2020/07/18 星期六
  • 返回顶部
    查看评论 9

    9 “论如何优雅地远程关闭电脑(PHP网页控制)

    Loading...
    1. 风也 2个月前 (07-21)

      厉害厉害 ヽ(✿゚▽゚)ノ ,那这个有权限设置吗,是否每个人都能执行关机命令

      1. 陶心昊 作者2个月前 (07-21)

        风也 有,登陆修改。不登录改不了

    2. 特厉害 2个月前 (07-18)

      其实服务端把数字保存到一个文件就可以,不需要用数据库,客户端配置定时 Shell 来访问网络文件和关机,Windows 的批处理应该也行。

    3. gaigai 2个月前 (07-18)

      不用开着QQ

    4. gaigai 2个月前 (07-18)

      52上面有大神做的用修改QQ昵称来实现关机

      1. 陶心昊 作者2个月前 (07-18)

        gaigai 不知道原理和我这个一不一样。我不知道哪儿能获取QQ的昵称

        1. gaigai 2个月前 (07-18)

          陶心昊 详见:https://www.52pojie.cn/thread-1207343-1-1.html

          1. 陶心昊 作者2个月前 (07-18)

            gaigai 感谢,不过这个楼主做的应该是获取句柄判断昵称改变是否符合然后执行。要实现的话,那样必须电脑上一直开着QQ这个软件才成,不过楼下我看到了别人发的获取QQ信息的API,我可以试着看看能不能改下。那样就不用用户自己整个php的环境了

    评论发布器

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注