我有一个示例$文件是test.zip或test.apk或test.jar
$len = filesize($file);
$filename = basename($file);
ob_end_clean();
JResponse::clearHeaders();
JResponse::setHeader('Pragma', 'public', true);
JResponse::setHeader('Expires', '0', true);
JResponse::setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true);
JResponse::setHeader('Content-Type', $file, true);
JResponse::setHeader('Content-Disposition', 'attachment; filename='.$filename.';', true);
JResponse::setHeader('Content-Transfer-Encoding', 'binary', true);
JResponse::setHeader('Content-Length', $len, true);
JResponse::sendHeaders();
echo JFile::read($file);
Run Code Online (Sandbox Code Playgroud)
当读取文件为test.zip是结果OK,但是当读取文件test.apk or test.jar是系统错误时,如何设置标题来读取此文件(apk,jar)
我有一个示例数据: 
<form action="index.php" method="post">
<input type="text" name="name" value="3602s?5300,5300XM?6126,6131?6131 NFC,6133," />
<input type="submit" name="submit" value="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
的index.php
if($_POST['name']){
echo $_POST['name'];
}
Run Code Online (Sandbox Code Playgroud)
当我回显$ _POST ['name']时,结果是:

我该如何解决这个错误?