2013-10-10 2 views
-1

Я использовал код для создания zip-файла, который пользователь установил флажок. Я получаю следующее сообщение об ошибке:!?Загрузка zip-файла показывает символы ошибок ... с использованием php-кода

PK YU • 7е [Content_Types] .xml ¢ ('TËnÂ0¼Wê D¾V ‰ ¡‡ ªªú8¶H ¥ ì 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}¿˜ûßÀ»„´ù“>þÁŒýuQwHoî·áÿÿPK!‘·óN_rels/.rels ¢( Œ’ÛJA†ïßaÈ}7Û "ÒÙÞH¡w"ë„™ìw̤ھ½£ ºPÛ^æôçËOÖ›ƒ›Ô;§<¯aYÕ Ø› Gßkxm · <Пай [š,g GĮ ° inoÖ/< '' ¡< Œ1 «¢ â³ † A $>" f3 ° £ \ ... ȾTºI S'ÌõŒ «º¾ÇôWš ™ |ÚY igï @ μÇX6_Ö] 7 ~ fïØË ‰ Èao.b * lIÆrj) õ, l0Ï% 'b¬ 6ai ¢ ÕõDÿ_ <Ž ..., ¡‰ Ïó | uœZ^t'¢ yǯ;! Y,} {ûCƒ³/h> ÿÿPK! Öd³Qú1word/rels/document.xml.rels ¢ (¬'ÍjÃ0 "ï ... ¾ƒØ { -; ý¡ "ȹ" @ ®ûŠ½þ¡² $ '> ¶ ~ û CR ‡ ÷ â <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í,ú & gë!/= ÿÿÿPK! æ "KxîQword/docum ent.xmlœTÛnÛ0}°0ôžØɲ'5âë²î[email protected]Ñv Ȳ-L ‰ Ž-} ý ( ²lE </’É#žC‘”7·?NÒ¶ ®J« {¡; ²¿®> Æ

øéÐYV £ ë ‰ dé]/IOV} ®® ~ úEhGm¹ \ ÑSëò † ¾?^ÓwÏéêo $ ùãûÿ © «× Ic!) Ou^ýrÍC $ ñy @ "° íÝö/yH * œ~ñ"'½) 'Þμ ÷ ß »Š × UDb, }"×qÛ‹”J×—–¤ÃX^æ)I nÌ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"); 

ответ

1

это не сообщение об ошибке, это почтовый файл отображается как текст.

Предположительно, после того, как вы создали файл zip, вы отправляете его в браузер с неправильным Content-Type. Возможно, вы вообще не устанавливаете Content-Type, поэтому PHP по умолчанию будет text/html.

Браузер затем получает то, что сказано в HTML, и поэтому он пытается отобразить его как веб-страницу.

Установить правильный тип содержимого в программе:

header("Content-Type: application/zip"); 
+0

Спасибо за ваш ответ. Я использовал заголовок ниже содержимого («Content-Description: File Transfer»); header («Content-type: application/zip»); header («Content-Type: application/force-download»); // некоторым браузерам нужен этот заголовок («Content-Disposition: attachment; filename = $ archive_file_name»); заголовок ('Истекает: 0'); header ('Cache-Control: обязательный-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"); – CDSUSER

Смежные вопросы