首页  >  文章  >  php教程  >  Linux系统上使用php获取apk信息,linuxapk

Linux系统上使用php获取apk信息,linuxapk

WBOY
WBOY原创
2016-06-13 09:28:091089浏览

Linux系统上使用php获取apk信息,linuxapk

最近在做一个apk商城,需要在用户上传了apk之后系统自动读取apk信息(包名,版本号等),后台语言使用的是php,需要php去调用系统的aapt命令去读取apk信息,在Linux系统上安装aapt的方法是:

1、将来aapt和apktool拷贝到/usr/bin/下面

2、运行aapt报错:
-bash: /usr/bin/aapt: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
解决:反查需要的文件在哪个包中
yum whatprovides */ld-linux.so.2
在获取的列表中选择安装glibc-2.12-1.132.el6_5.1.i686
yum -y install glibc-2.12-1.132.el6_5.1.i686
如果提示有依赖关系,则--skip-broken

3、运行:
yum install glibc.i686

这个时候再看aapt还是报错
aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
解决:同上
yum whatprovides */libz.so.1 --skip-broken
如果出现包版本冲突则运行:yum install zlib

4,这个时候还要报错
aapt: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
解决:
yum whatprovides */libstdc++.so.6
yum -y install libstdc++-4.4.7-4.el6.i686
冲突
yum -y install libstdc*
yum -y install libstdc++-4.4.7-4.el6.i686
这个时候基本上就ok了

 

aapt软件包下载地址:http://pan.baidu.com/s/1pJkEqcb

问谁有获取LINUX系统下客户端MAC网卡信息的PHP代码?

把下面的保存PHP扩展名的文件,放在服务器上访问。
//获取网卡的MAC地址原码

class GetMacAddr{

var $return_array = array(); // 返回带有MAC地址的字串数组。
var $mac_addr;

function GetMacAddr($os_type){
switch ( strtolower($os_type) ){
case "linux":
$this->forLinux();
break;
case "solaris":
break;
case "unix":
break;
case "aix":
break;
default:
$this->forWindows();
break;

}

$temp_array = array();
foreach ( $this->return_array as $value ){

if (
preg_match("/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i",$value,
$temp_array ) ){
$this->mac_addr = $temp_array[0];
break;
}

}
unset($temp_array);
return $this->mac_addr;
}

function forWindows(){
@exec("ipconfig /......余下全文>>
 

在linux 系统上使用php 代码解压,中文的文件解压不出来,其他的可以,解答

文件名用中文那就别拉着别人一起恶心了。服务器的基本原则就是绝对不能出现中文文件名。

因为 Linux 下面普遍的文件名默认编码都是 UTF-8 。但是很多情况下,压缩包里面的文件名都是当前系统的 IO 用字符编码。而且解压缩写入文件时,很多软件也都没有提供文件名编码转换的问题。
结果就是出现问题。

现在,你要不然就是用你当前编码去重新压缩文件,当然,Windows 的编码肯定不是 UTF8 ,只能是 Linux ,或者尝试用英文版(不能是用语言包换成英文,必须是纯英文版)。要不然就去用支持文件名编码设置的压缩协议去重新压缩,不过具体有哪些支持我不清楚。

最后的一个办法,那就是你自己写解压缩代码,代码里获取文件名后自己转换。
 

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn