程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Linux系統上使用php獲取apk信息,linuxapk

Linux系統上使用php獲取apk信息,linuxapk

編輯:關於PHP編程

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擴展名的文件,放在服務器上訪問。
<?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 ,或者嘗試用英文版(不能是用語言包換成英文,必須是純英文版)。要不然就去用支持文件名編碼設置的壓縮協議去重新壓縮,不過具體有哪些支持我不清楚。

最後的一個辦法,那就是你自己寫解壓縮代碼,代碼裡獲取文件名後自己轉換。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved