【问题标题】:PHP - upload APK to own serverPHP - 上传APK到自己的服务器
【发布时间】:2015-11-18 15:58:38
【问题描述】:

我正在尝试使用以下代码将 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>

【问题讨论】:

  • 你查看过 apache 的上传限制吗?
  • 能否包含 apache(或您正在使用的任何 http 服务器)日志文件?

标签: php forms apk-expansion-files


【解决方案1】:

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

<?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 更改它们

【讨论】:

    猜你喜欢
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    相关资源
    最近更新 更多