php.exe是什么,PHP读取exe软件版本号
最近在做一个桌面客户端软件,顺手给它加上了在线更新的功能:与服务端的最新软件进行版本比对,如果本地版本低于服务端版本就提示升级。
常规思路是在服务端放个配置文件,里面写入版本号,然后再通过 api 输出。然而这样每次都要手动去修改版本号,难免会手抖将版本号输错。好在,咱们的 php 是万能的[aru_2]因此可以直接用 php 来读取服务器上最新版 exe 的版本号,方便省事可靠![aru_53]
相关代码如下:[aru_47] /**
* PHP 读取 exe\dll 文件版本号
*
* @auth @腾讯电脑管家(https://zhidao.baidu.com/question/246143241010222924.html)
* @param $filename 目标文件
* @return 读取到的版本号
*/
function getFileVersion($filename)
{
$fileversion = '';
$fpFile = @fopen($filename, "rb");
$strFileContent = @fread($fpFile, filesize($filename));
fclose($fpFile);
if($strFileContent)
{
$strTagBefore = 'F\0i\0l\0e\0V\0e\0r\0s\0i\0o\0n\0\0\0\0\0'; // 如果使用这行,读取的是 FileVersion
// $strTagBefore = 'P\0r\0o\0d\0u\0c\0t\0V\0e\0r\0s\0i\0o\0n\0\0'; // 如果使用这行,读取的是 ProductVersion
$strTagAfter = '\0\0';
if (preg_match("/$strTagBefore(.*?)$strTagAfter/", $strFileContent, $arrMatches))
{
if(count($arrMatches) == 2)
{
$fileversion = str_replace("\0", '', $arrMatches[1]);
}
}
}
return $fileversion;
}
网上找到还有一种读取方法,不过只支持 Windows 服务器。留以备用。 /**
* PHP 读取 exe\dll 文件版本号(仅支持Windows服务器)
*
* @auth https://zhidao.baidu.com/question/475823802.html
* @param $filename 目标文件(必须是完整的路径)
* @return 读取到的版本号
*/
function getFileVersion($filename)
{
$fso = new COM('Scripting.FileSystemObject');
return $fso->GetFileVersion($filename);
}
php.exe是什么,PHP读取exe软件版本号相关推荐
- Qt学习笔记之——生成exe可执行文件并打包生成安装软件
之前用MFC生成过安装文件,今天想尝试采用Qt生成的exe文件打包并生成安装软件. 开始我认为比较简单,但是尝试过程中遇到了很多问题.下面一一列出来 首先:我认为,要完成一个软件,应尽可能的使用Rel ...
- 文件或目录windows/temp/explorer.exe损坏且无法读取 请运行chkdsk工具
昨天机房出现了三台机子,开机以后提示:文件或目录windows/temp/explorer.exe损坏且无法读取 请运行chkdsk工具,然后就是蓝屏,无法进入系统,在网上找了很多资料无法解决,重装系 ...
- 计算机无法读取exe文件,电脑打不开exe文件怎么解决
电脑打不开exe文件怎么解决?电脑exe文件怎么打开?exe是可执行文件的文件格式之一,可以在系统中直接运行,不过有些是病毒文件,所以要注意区分一下.有些朋友遇到了电脑打不开exe文件的情况,又不知道 ...
- pycharm打包exe时加上窗体及exe桌面图标
一.pycharm打包exe时加上窗体及exe桌面图标 1.首先添加图片文件转py文件得工具pyrcc 打开File中的Settings 2.按步骤添加工具名称 Name:Pyqrc Program: ...
- 中了exe病毒文件夹变exe应用程序解决方法
文件夹变exe应用程序是一种恶意病毒,专门删除电脑中有用的文件,把自己伪装成一个正常的文件.中了exe病毒文件夹变exe应用程序解决方法恢复步骤如下: 文件夹变exe应用程序是一种恶意病毒,专门删除电 ...
- exe编辑器_windows下的EXE文件大揭密
当我们安装完Windows后,其中的文件到底是执行何种任务?某特定任务又由哪个文件来执行呢? 还有,从"开始"--"程序"--再点击"我所要执行的任务 ...
- golang EXE程序添加图标和详细信息(版本号,版权,公司信息等)
golang EXE程序添加图标和详细信息(版本号,版权,公司信息等) 为什么要添加图标和详细信息 作为桌面程序,有一个图标,显得更正式一些.详细信息有版本号方便做版本识别.算了,编不下去了.不管那么 ...
- R语言技巧:读取sas软件的sas格式文件
前面几期介绍了如下内容: 读取excel文件 对比方法 读取csv格式文件 对比方法read.csv 读取sav格式文件 读取spss 的sav格式文件 这期介绍读取sas软件的sas格式文件,代码如 ...
- VC自动生成软件版本号
VC自动生成软件版本号 flyfish 目的: 软件的版本有主版本号.子版本号.修正版本号.编译版本号 其中编译版本号与SVN服务器的版本号(Revision)自动同步. 环境 需要在本机安装Tort ...
最新文章
- Stm32学了好久了,为什么做项目还是力不从心?
- 把php写入织梦,dedeCMS远程写入getshell(测试版本V5.7)
- 中国WEB 2.0的质变过程
- 表的插入、更新、删除、合并操作_19_通过表关联删除记录
- 【Linux】一步一步学Linux——VMware虚拟机三种网络模式详解(07)
- Android系统(120)-android的事件分发机制
- 《高效对话》— 综合素质提升书籍
- iOS app启动图片及icon图片及应用名设置
- HiveSQL正则表达式的应用
- axure怎么转换成html文件,AxureRP教程AxureRP如何生成HTML文件
- mmap之内存映射文件与常规文件操作比较
- 采用WPF开发第二版OFD阅读器
- 教你如何去掉桌面图标的蓝底
- 服务器启动首选项不是虚拟盘,没法开启CPU虚拟化,BIOS没有开启的选项
- 白城师范学院计算机系鲍金玲,企业绩效考核方法的比较与借鉴
- win7 mysql 管理员权限,win7管理员权限问题 TrustInstaller 获取权限
- (转)Apple Push Notification Services in iOS 6 Tutorial: Part 1/2
- ios设备如何安装chatgpt
- 【C/C++】fstream详解
- Android自定义系列——13.Matrix Camera
热门文章
- 【photoshop Action Manager】动作管理器 - 用法(一)
- JSP技术已死 ? (Java Server Page technology will die) ?
- react性能监控根据工具_高性能React:3个新工具可加快您的应用程序
- IOS ATS 配置
- Proteus软件安装并结合keil软件进行51程序设计和仿真
- C++九九乘法表(下三角)
- Android进阶:自定义视频播放器开发(上)
- 串口文件传输及点阵汉字字模的读取与显示
- Go 语言调度(一): 系统调度
- 中英文学习Python中的字典类型