-1

我使用了一个代码来创建用户选中的复选框文件的 zip 文件。我收到以下错误消息:

PK!Ýü•7f [Content_Types].xml ¢( ´TËnÂ0¼Wê?D¾V‰¡‡ªªú8¶H¥ &gë!/=ÿÿÿPK!æ“KxîQword/document.xmlœTÛnÛ0}°0ôžØɲ´5âë²îi@Ñv Ȳ-L‰Ž—} ý( ²lE‹<code>/'É#žC'”7·?NÒ¶‹yÆi”ÊÖûþ|?»fI@nK®ÁÊ‚e`·Û÷ï6]^‚h´∼... ùÐÑåiD# spÒX7Éôuj¸ÿѺ ™ã8ª½Ò é2ËÖl¤‚µÞæ#ÅÌ(á!@…1$‡ªRBŽÛá/Ñ"wcʽbꥦÀ†F¹0±™ÿe£+6ÉáKŒžÎuîµÒóŽúaôv¾t„¼»<1.²·´ÇFŠSÄ%)ü9eb¸¼2'š8ÿôÿÿ /´ÓHõç"T‹-ÍÒÊcÜ]Òå4‹åcÁ²ìn±Î¾Ü°Éµ"o5FäwŸûHÃpû,R5×zA&4s4Ö¶¤ ½" Gäq*ÑnÒx>®J«{¡;²¿®›Æ</p> ì XõKöòúûnDUA*å)YïÌììăÑÚšl 1iïJÖ/z,'½ÒnV²ÉK~ϲ„Â)a¼ƒ’m ±Ñðúj0ÙHu»T²9bxà<É9X‘ ÀQ¥òÑ ¤×8ãAÈO1~ÛëÝqé‚Ãk6$N{9›êÍ+P9Y ¢†vuÇGD²ìÃï»ÆoR€”wàͳ¶ ÌIÊŠ~‰‰˜8›ïWòZè“"V0}¿˜ûßÀ»„´ù“&gt;þÁŒýuQwHoî·áÿÿPK!‘·óN_rels/.rels ¢( Œ’ÛJA†ïßaÈ}7Û "ÒÙÞH¡w"ë„™ìw̤ھ½£ ºPÛ^æôçËOÖ›ƒ›Ô;§<¯aYÕ Ø›</code>Gßkxm·‹PYÈ[š‚g GΰinoÖ/<‘”¡&lt;Œ1«¢â³†A$>"f3°£\…ȾTºI S‘ÌõŒ«º¾ÇôWš™¦ÚY igï@µÇX6_Ö]7~ fïØˉÈaoÙ.b*lIÆrj)õ,l0Ï%‘b¬ 6ài¢ÕõDÿ_‹Ž…, ¡ ‰Ïó|uœZ^tÙ¢yǯ;!Y,}{ûCƒ³/h>ÿÿPK!Öd³Qú1word/rels/document.xml.rels ¢( ¬’ÍjÃ0„ï…¾ƒØ{-;ý¡„ȹ”@®­ûŠ½þ¡²$´›¶~û CR‡÷â‹<code>Fhæ“´›íwoÄ'êœU%)´¥«:Û(x/vwÏ ˆµ­´qH°Íoo6¯h4ÇCÔvžDL±¤ eök)©l±×”86îÔ.ôš£ôºüÐ ÊUš>É0Í€ü"Sì+a_݃(›ÿÏvuÝ•øâÊc–¯TÈ/<¼!s¼ÅXd3‰´ ¯ƒ¬–¡?'g![?óü4ê¹úÇ%ë9Žþ¶RŽk6Çð°$Cí,ú

øéÐYV£ë‰ðè]/¯îoV}®®~úEhGm¹\ÑSëò†¾?^ÓwÏéêo$ùãûÿ©«×îÇ!)OÚ^ýrÍC$ñy@“°íÝö/yH*œ˜ñ„´½)'Þµ ÷ß»Š×UDb,<code>}"×qÛ‹”J×—–¤ÃX^æ)InÌEŒ¼Šp)øèÆli¹V[]Š1M<”àÈÞ©OÐP“ô6râ=¯‰'zÀgb Ig...ÁuSÙ

这是我的代码:

header("Content-Description: File Transfer"); 
header("Content-type: application/zip"); 
header("Content-Type: application/force-download");// some browsers need this header("Content-Disposition: attachment; 
filename=$archive_file_name"); 
header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header("Content-Length:". " $zipped_size"); 
ob_clean(); flush(); 
readfile("$archive_file_name"); 
unlink("$archive_file_name");
4

1 回答 1

1

这不是错误消息,而是呈现为文本的 zip 文件。

据推测,在您生成 zip 文件后,您将其发送到具有错误 Content-Type 的浏览器。可能您根本没有设置 Content-Type,因此 PHP 将默认为text/html.

然后浏览器得到它被告知是 HTML 的东西,因此它尝试将其呈现为网页。

在程序中设置正确的内容类型:

header("Content-Type: application/zip");
于 2013-10-10T07:38:26.383 回答