PHP - 将 APK 上传到自己的服务器

PHP - upload APK to own server

我正在尝试使用以下代码将 APK 文件上传到我自己的服务器。它有时可以与一些 apk 文件一起正常工作,但我无法上传一些 apk 文件,例如我可以上传一个名称为 "test" 且大小为 1.5 mb 的文件,但另一个文件名为 "test2" 并且3.5 码不上传。

PHP :

function updateAPK($id){

   $name = $id.".apk";
   $temp = $_FILES["application"]["tmp_name"];
   $extension = array("application/octet-stream","application/vnd.android.package-archive");
   $DIR = __DIR__."\..\android\{$id}\";

    // apk format validation
    if(in_array($_FILES["application"]["type"],$extension )){

        //create directory if not exist
        if(!dirExist($DIR)){
            createDir($DIR);
        }

        if(move_uploaded_file($temp,$DIR."\{$name}")){
            return true;
        }
    }
    return false;
}


HTML :

<?php
 if(isset($_POST["upload"])){
   updateAPK($id);
}
?>

<form method="POST" role="form" enctype="multipart/form-data">
<div class="form-group">
<label for="application">select APK :</label>
<input type="file" name="application" id="application" class="form-control" required/>
<div align="center">
<button type="submit" name="upload" value="upload" class="btn btn-default">upload</button>
</div>
</div>
</form>

您的服务器设置阻止上传大文件。请 运行 以下脚本和 post 结果:

<?php
echo "post_max: " . ini_get('post_max_size') . "<br>";
echo "upload_max_filesize: " . ini_get('upload_max_filesize')  . "<br>";
echo "Trying to set values<br>";
ini_set('post_max_size','16M';)
ini_set('upload_max_filesize','16M';)
echo "post_max: " . ini_get('post_max_size','16M');
echo "upload_max_filesize: " . ini_get('upload_max_filesize');
?>

2 个值中的较小值是您可以上传的上限。最终可以使用 phps ini_set

更改它们