0
我用PHP製作了一個簡單的apk上傳器,我想解析清單屬性表格AndroidManifest.xml
,但我得到了以下錯誤,任何想法!?解析AndroidManifest屬性
Fatal error: Call to a member function xpath() on a non-object in E:\AppServ\www\apkUploader\mainApi.php on line 21
線21 =$versionName = $xml->xpath('/manifest/@android:versionName');
的源代碼:
/* For Apk File */
if (($_FILES["mFile"]["type"] == "application/vnd.android.package-archive") || ($_FILES["mFile"]["type"] == "application/octet-stream"))
{
if ($_FILES["mFile"]["error"] > 0)
{
echo "Return Code: " . $_FILES["mFile"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["mFile"]["name"] . "<br />";
echo "Type: " . $_FILES["mFile"]["type"] . "<br />";
echo "Size: " . ($_FILES["mFile"]["size"]/1024) . " Kb<br />";
echo "Temp file: " . $_FILES["mFile"]["tmp_name"] . "<br />";
error_reporting(E_ERROR | E_PARSE);
$dom = new DOMDocument();
$dom->load('AndroidManifest.xml');
$xml = simplexml_import_dom($dom);
$versionName = $xml->xpath('/manifest/@android:versionName');
$versionCode =$xml->xpath('/manifest/@android:versionCode');
$package = $xml->xpath('/manifest/@package');
echo "VERSION NAME :".$versionName[0]->versionName."<br/>";
echo "VERSION CODE :".$versionCode[0]->versionCode."<br/>";
echo "VERSION PAC :".$package[0]->package."<br/>";
if (file_exists("upload/" . $_FILES["mFile"]["name"]))
{
echo $_FILES["mFile"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["mFile"]["tmp_name"],
"upload/" . $_FILES["mFile"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["mFile"]["name"];
}
}
}
else
{
echo "Invalid file";
}
+1,謝謝你提到它,我怎樣才能得到一個apk文件裏面的XML(一種ZIP文件)讀它? – iSun
嗯,我想你應該發表關於這個問題的另一個問題(我不知道答案,對不起)。 – Dalmas
好的,無論如何謝謝你:-) – iSun