dtdt0454 2019-07-06 13:12
浏览 129

PHP发送应用程序/ zip MIME但Chrome认为它是文档

I'm using PHP to download a file like this:

index.php

<?php

// no code above, file starts and ends exactly like this sample
$u = filter_input(INPUT_SERVER,'REQUEST_URI',FILTER_SANITIZE_STRING);

// Just to test Chrome with and without .zip at the end of URL to see
// if Chrome act any different
if ($u!='/download/xsi1nc3su' && $u!='/download/xsi1nc3su.zip'){

   echo 'Wrong URL';
   die();

}else{

   $file = __DIR__.'/1.zip';

   // I've checked both of these lines and result is the same:
   // header('Content-type: '.mime_content_type($file));
   // header('Content-type: application/zip'); 

   header('Content-Description: File Transfer');
   header('Content-type: application/zip');
   header('Content-Disposition: attachment; filename=download.zip');
   header('Content-Transfer-Encoding: binary');
   header('Connection: Keep-Alive');
   header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + (60 * 60)));
   header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
   header('Pragma: public');
   header('Content-Length: '.filesize($file));

   flush();
   readfile($file);
   exit;
}

.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [L]
</IfModule>

As you can see all URLs coming to index.php and when I use URL like (Paste directly to the browser):

http://127.0.0.1/download/xsi1nc3su.zip

or

http://127.0.0.1/download/xsi1nc3su

Chrome console shows me this warning:

Resource interpreted as Document but transferred with MIME type application/zip

I've read about this warning in this and this posts. They want to solve the problem by adding empty download in a tag (Which can only solve the problem when using download URL inside HTML link) or adding correct type to the header.

Since I'm sending correct MIME and just copy and paste the URL. I don't know where is the problem.

Please let me know, if you cannot reproduce it. I can provide my sample .zip file. My zip file contains a simple text file, created by Archive Manager on Ubuntu.

More Information

  • Chrome: Version 75.0.3770.100 (Official Build) (64-bit) Linux

  • Apache: Server version: Apache/2.4.29 (Ubuntu)

  • PHP: PHP 7.2.19-0ubuntu0.18.04.1

Chrome Console

Chrome Network

Chrome Headers

I've noticed even direct file giving me the same warning:

Chrome Console

Chrome Headers

Checked with Hexadecimal Editor. seems original and downloaded files are the same:

Original File:

50 4B 03 04 14 00 08 00 08 00 3A 2F E6 4E 00 00 00 00 00 00 00 00 AD 03 00 00 09 00 20 00 69 6E 64 65 78 2E 70 68 70 55 54 0D 00 07 D1 9A 20 5D D6 9A 20 5D D1 9A 20 5D 75 78 0B 00 01 04 00 00 00 00 04 00 00 00 00 8D 52 51 6F D3 30 10 7E CF AF 38 A4 4A 4E A0 6D 36 21 ED 21 A5 42 13 CD 46 44 57 8D 34 05 81 2A 45 6E 72 6D AC 25 B6 65 3B 5D 3B C4 7F C7 4E D6 07 0A 43 3C F8 E1 EE BE FB EE FB CE F7 EE BD AC A4 E7 85 21 70 01 85 28 11 E8 46 EC 71 08 5B 56 23 68 43 95 D1 40 79 09 C8 4B 0D 78 A0 85 A9 8F 50 B3 07 04 53 31 0D 9A 36 B2 46 6F D0 C2 D4 B5 18 54 39 E3 B2 35 7E B2 B8 5F 65 F9 32 4E BF C4 E9 90 A4 F1 E7 55 BC CC F2 55 9A 90 E1 4D 32 CF E2 34 5F 5E 2F 92 2C F9 1E E7 CB 2C 4D 16 B7 C1 C4 C3 A2 12 30 68 27 1E DB 82 3F 68 5F 4D 49 58 8A 47 5E 0B 5A 86 07 CD 2E 79 F1 56 B7 24 F8 E1 01 40 87 25 5F 95 E0 3B 58 A5 73 32 71 C9 92 A1 6F 79 7E 62 AD B1 43 0D 3A 1B 53 C8 F3 59 92 E6 F9 98 84 97 E3 27 26 2D DA 55 AD EB 84 EC 11 8A 0A 8B 07 2C 61 23 4C 05 62 6B 9D A1 46 6B 92 63 EF DD C6 A0 50 B7 B5 01 6B D9 45 D6 36 46 CF 14 15 D2 12 95 4F 3E 08 6E 90 9B 91 39 4A 8C 80 8C 1B D6 60 5E F4 C9 DC 25 FD 4E 4D 10 4C FE D9 48 A5 AC 59 41 0D 13 3C 74 52 83 09 74 62 CF D1 33 D4 85 62 D2 E1 22 B8 71 36 33 45 B9 DE A2 22 FD 84 FF A5 FF 2B 39 D3 52 68 D6 93 53 63 68 51 35 36 3F E9 CE 82 5B F3 D3 D3 C7 8C 5F 26 39 E9 19 C5 DC 5E 16 E3 BB 08 36 8C 53 75 FC 13 CF B1 E8 67 7D 42 94 A3 EB 9A ED F1 0C 14 1F 24 B3 7F E0 16 BB 6B 4A 6A D0 27 B3 21 94 70 07 DF E0 63 C4 22 0D EB DB F5 DD 3A 23 43 30 76 F1 7E 00 6F C0 BF BA 80 D7 70 75 11 04 67 03 AD 1D 1C 39 99 4A D4 11 34 AD 36 23 85 7B 5A 33 47 3C 04 6B DD 8C BA A3 98 5E D8 48 E1 29 38 D3 74 AF E8 AE A1 11 C8 76 63 77 FA C2 16 E6 C8 77 A6 72 BA DD EE 34 7B FA FD 0E DC DB D6 AD AE FC 3E 56 B6 DD 95 9F 41 5D 0E 0F CC D8 AB F6 7E 01 50 4B 07 08 F4 36 42 1F 0A 02 00 00 AD 03 00 00 50 4B 01 02 14 03 14 00 08 00 08 00 3A 2F E6 4E F4 36 42 1F 0A 02 00 00 AD 03 00 00 09 00 20 00 00 00 00 00 00 00 00 00 FF 81 00 00 00 00 69 6E 64 65 78 2E 70 68 70 55 54 0D 00 07 D1 9A 20 5D D6 9A 20 5D D1 9A 20 5D 75 78 0B 00 01 04 00 00 00 00 04 00 00 00 00 50 4B 05 06 00 00 00 00 01 00 01 00 57 00 00 00 61 02 00 00 00 00

Downloaded File:

50 4B 03 04 14 00 08 00 08 00 3A 2F E6 4E 00 00 00 00 00 00 00 00 AD 03 00 00 09 00 20 00 69 6E 64 65 78 2E 70 68 70 55 54 0D 00 07 D1 9A 20 5D D6 9A 20 5D D1 9A 20 5D 75 78 0B 00 01 04 00 00 00 00 04 00 00 00 00 8D 52 51 6F D3 30 10 7E CF AF 38 A4 4A 4E A0 6D 36 21 ED 21 A5 42 13 CD 46 44 57 8D 34 05 81 2A 45 6E 72 6D AC 25 B6 65 3B 5D 3B C4 7F C7 4E D6 07 0A 43 3C F8 E1 EE BE FB EE FB CE F7 EE BD AC A4 E7 85 21 70 01 85 28 11 E8 46 EC 71 08 5B 56 23 68 43 95 D1 40 79 09 C8 4B 0D 78 A0 85 A9 8F 50 B3 07 04 53 31 0D 9A 36 B2 46 6F D0 C2 D4 B5 18 54 39 E3 B2 35 7E B2 B8 5F 65 F9 32 4E BF C4 E9 90 A4 F1 E7 55 BC CC F2 55 9A 90 E1 4D 32 CF E2 34 5F 5E 2F 92 2C F9 1E E7 CB 2C 4D 16 B7 C1 C4 C3 A2 12 30 68 27 1E DB 82 3F 68 5F 4D 49 58 8A 47 5E 0B 5A 86 07 CD 2E 79 F1 56 B7 24 F8 E1 01 40 87 25 5F 95 E0 3B 58 A5 73 32 71 C9 92 A1 6F 79 7E 62 AD B1 43 0D 3A 1B 53 C8 F3 59 92 E6 F9 98 84 97 E3 27 26 2D DA 55 AD EB 84 EC 11 8A 0A 8B 07 2C 61 23 4C 05 62 6B 9D A1 46 6B 92 63 EF DD C6 A0 50 B7 B5 01 6B D9 45 D6 36 46 CF 14 15 D2 12 95 4F 3E 08 6E 90 9B 91 39 4A 8C 80 8C 1B D6 60 5E F4 C9 DC 25 FD 4E 4D 10 4C FE D9 48 A5 AC 59 41 0D 13 3C 74 52 83 09 74 62 CF D1 33 D4 85 62 D2 E1 22 B8 71 36 33 45 B9 DE A2 22 FD 84 FF A5 FF 2B 39 D3 52 68 D6 93 53 63 68 51 35 36 3F E9 CE 82 5B F3 D3 D3 C7 8C 5F 26 39 E9 19 C5 DC 5E 16 E3 BB 08 36 8C 53 75 FC 13 CF B1 E8 67 7D 42 94 A3 EB 9A ED F1 0C 14 1F 24 B3 7F E0 16 BB 6B 4A 6A D0 27 B3 21 94 70 07 DF E0 63 C4 22 0D EB DB F5 DD 3A 23 43 30 76 F1 7E 00 6F C0 BF BA 80 D7 70 75 11 04 67 03 AD 1D 1C 39 99 4A D4 11 34 AD 36 23 85 7B 5A 33 47 3C 04 6B DD 8C BA A3 98 5E D8 48 E1 29 38 D3 74 AF E8 AE A1 11 C8 76 63 77 FA C2 16 E6 C8 77 A6 72 BA DD EE 34 7B FA FD 0E DC DB D6 AD AE FC 3E 56 B6 DD 95 9F 41 5D 0E 0F CC D8 AB F6 7E 01 50 4B 07 08 F4 36 42 1F 0A 02 00 00 AD 03 00 00 50 4B 01 02 14 03 14 00 08 00 08 00 3A 2F E6 4E F4 36 42 1F 0A 02 00 00 AD 03 00 00 09 00 20 00 00 00 00 00 00 00 00 00 FF 81 00 00 00 00 69 6E 64 65 78 2E 70 68 70 55 54 0D 00 07 D1 9A 20 5D D6 9A 20 5D D1 9A 20 5D 75 78 0B 00 01 04 00 00 00 00 04 00 00 00 00 50 4B 05 06 00 00 00 00 01 00 01 00 57 00 00 00 61 02 00 00 00 00
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 程序不包含适用于入口点的静态Main方法
    • ¥15 素材场景中光线烘焙后灯光失效
    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记