TP5获取上传文件并验证
tp5获取上传文件可以说是相当的简单,(注意此处的$file的类型是tp5封装的File)
$file = $this- request- file( file
这样就可以直接的获取上传的文件,简单的蛋疼。
首先验证文件是否上传了并且是否为空。
if (false === ($file instanceof File)) { //文件为空,抛异常/业务处理}
然后就是验证文件的类型了,apk的媒体信息其实就是zip,千万不要使用后缀名进行判断啊。年轻的我就是用后缀进行判断的。
老司机看到就建议我使用getMime方法获取文件的媒体进行进行匹配。(getMime属于tp5 File的封装方法)
if ( application/zip !== $file- getMime()) { //文件类型错误,抛异常/业务处理}
tufanbarisyildirim
加入composer
require : { tufanbarisyildirim/php-apk-parser : dev-master }
然后到项目路径安装一下,没安装composer就安装composer或者直接从网上拉咯。
composer install
Parser解析apk
Parser位于 ApkParser目录下,实例化时只需要传入apk的全路径名
$apkParser = new /ApkParser/Parser($file- getPathname());
以下为获取apk中的参数
$apkParser- getManifest()- getPackageName(); //获取apk包名$apkParser- getManifest()- getVersionCode(); //获取apk版本号$apkParser- getManifest()- getVersionName(); //获取apk版本名称$apkParser- getManifest()- getMinSdk(); // 支持最低sdk的平台$apkParser- getManifest()- getMinSdkLevel(); // 支持最低sdk的版本$apkParser- getManifest()- getTargetSdk(); // 目标Sdk的平台$apkParser- getManifest()- getTargetSdkLevel(); //目标sdk的版本$labelIndex = $apkParser- getManifest()- getApplication()- getLabel(); //获取应用名称的索引$apkParser- getResources($labelIndex); //获取应用名称的数组$iconIndex = $apkParser- getManifest()- getApplication()- getIcon();//获取图标的索引$icons = $apkParser- getResources($iconIndex); //获取图标路径的数组file_put_contents( 保存icon图标的全路径名 , stream_get_contents($apkParser- getStream($icons[0]))); //把第1个图标转为流后保存到相应的目录
个人使用这个控件时遇到点问题,就是应用名称数组,我怎么才能知道应用名称对应的语言呢?因为应用名称中可能有简体中文、繁体中文、英文等。我怎么才能取出简体中文的应用名称呢?
相关教程:PHP视频教程
以上就是巧用ThinkPHP5.1和 tufanbarisyildirim 快速解析apk的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答