2014-12-20 3 views
-1

Я пытаюсь загрузить файл APK Android с помощью php в браузере с помощью Chrome.Загрузить файл APK с помощью PHP

Мое приложение расположено на определенном пути на сервере. Если я вручную загружаю файл с сервера и передаю его на мобильный Android, он будет установлен отлично. Но когда я загружался с использованием PHP и переносил загруженный файл на мобильный, а при установке его выбрасывал , «при разборе пакета« »возникла проблема.

Вот мой PHP код я использую, чтобы загрузить

header('Content-Type: application/vnd.android.package-archive'); 
header('Content-Disposition: attachment; filename="' . $file_name . '"'); 
readfile($file_path); 
return true; 

FYI ...

$file_name is the apk file file 'myfile.apk' 
$file_path is the full absolute path of the file in server ('d:\abcd\xyz\xampp\htdocs\apkstore\myfile.apk') 

Я нашел одно наблюдение при попытке открыть файл APK с помощью 7-Zip.

Когда я открываю файл с помощью 7-Zip это выдает ошибку «Не удается открыть файл ххх как архив»

После того, как я добавил ниже PHP код

header("Content-length: " . filesize($file_path)); 

Теперь, когда я открываю файл используя 7-zip, он открывает файл, но размер загруженного файла больше исходного. И когда я открываю этот файл в мобильном же ошибки «была проблема при разборе пакета»

Чтобы вырезать мою длинную историю короткой, я пытаюсь загрузить файл APK с сервера на локальный с помощью PHP, и я «Я могу заставить его работать.

ответ

0

мне удалось заставить его работать, добавив ob_end_flush()

header('Content-Type: application/vnd.android.package-archive'); 
header("Content-length: " . filesize($file_path)); 
header('Content-Disposition: attachment; filename="' . $file_name . '"'); 
ob_end_flush(); 
readfile($file_path); 
return true; 
Смежные вопросы