PHP下载的文件与服务器文件大小不匹配

时间:2016-08-23 20:28:28

标签: php

我在PHP中使用一个简单的代码来下载文件并计算其MD5以验证下载是否按预期完成,但我注意到PHP即使在下载健康,完整的文件时,它也略大于一个在服务器中的几个字节,因此导致MD5检查失败。

这是我使用的PHP代码:

<?php
$path_parts = pathinfo($_GET['a']);
$file_name  = $path_parts['basename'];
$file_path  = 'temp/' . $file_name;

if (file_exists($file_path)) {
    $size = filesize($file_path);

    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    header("Content-Disposition: attachment; filename=$file_name");
    header("Content-Type: application/zip");
    header("Content-length: $size");
    header("Content-Transfer-Encoding: binary");

    // read the file from disk
    readfile($file_path);
}    
else
    echo 'File does not exists';
?>

在服务器中我有一个.ZIP文件,它的权重为203字节,但下载的文件是254字节或更高。那么,我做错了什么不能让PHP下载一个完整的简单文件?

要下载我使用C# WebClient或Goolgle-Chrome的文件,我在两者中都会得到相同的结果。

0 个答案:

没有答案