-1

我有一个链接。当用户单击该链接时,它将更新数据库的计数并安装应用程序。

<a style="text-decoration: none" mimeType="application/vnd.android.package-archive"  href="http://way2enjoy.com/touch/w2et/appdownload.php?file=http://way2enjoy.com/android/Way2Enjoy.apk?32" target="_new">Download Android <img src="http://www.way2enjoy.com/touch/w2et/android32.png" />app</a>

我已经通过直接指向 android 文件尝试了这个文件,并且安装它没有任何问题,但是当我通过这个链接时,它似乎正在工作并且在 pc 和 android 文件正在被下载但是当我尝试在 android 中安装文件时我得到解析错误。

这是我的 appdownload.php 代码

$c=explode("?",$_SERVER[ 'REQUEST_URI' ]);  $city=end($c); 

$c=explode("?file=",$_SERVER[ 'REQUEST_URI' ]);  $city1=end($c); 

$content = file_get_contents($city1);

header("Content-Type: application/vnd.android.package-archive"); 
header("Content-Disposition: attachment; filename=Way2Enjoy.apk");
mysql_query("update table SET count=count+1 where id='$city'");
echo $content;

mysql count增加没有任何问题,文件也被下载,但该文件没有安装在 android 中。

任何的想法?

4

2 回答 2

1

您应该在 MySQL 语句中使用错误处理,因为您只是回显文件内容,如果其他一些语句在您的 OutputStream 中回显错误,则您会破坏 APK。

更好的方法是重定向到这样的文件: header('Location: http://way2enjoy.com/android/Way2Enjoy.apk');. 实际上,我从未尝试过使用 Android apk 进行此操作,但它应该可以工作。

于 2013-10-14T09:27:39.557 回答
0

我认为这是因为 php 代码只是开始下载并增加计数器。您无法确定用户是否最终安装了该应用程序。

我不知道您是否是 Android 应用程序的所有者。在这种情况下,也许您可​​以从 Android 应用程序中增加计数器,以确保应用程序已正确安装。

希望能帮助到你!

于 2013-10-14T09:18:22.653 回答