下载头必须有的 不然浏览器不认的。
Notice 注意代码里边的注释
<?php
$file_name="b.png";
//1、打开文件
if(!file_exists($file_name)){
echo "文件不存在";
return;
}
$fp=fopen($file_name,"r");
//获取下载文件的大小
$file_size=filesize($file_name);
//echo "文件的大小是".$file_size;//这个也不能有
//返回的文件
header("Content-type:application/octet-stream");
//按照字节返回
header("Accept-Ranges:bytes");
//返回这个文件大小
header("Accept-Length:$file_size");
//对应客户端弹出的对话框,对应的文件名
header("Content-Disposition:attachment;filename=".$file_name);
//向客户端回传数据
$buffer = 1024;
$file_count = 0;
//用于判断数据读取
while(!feof($fp) && $file_size-$file_count>0){
$file_count+=$buffer;
$file_data = fread($fp,$buffer);
//把部分数据回送给浏览器
//echo $file_count;//输出文件的时候不能有其他的echo 否则实际下载的写入的图片大小会和实际图片大小有出入
echo $file_data;
}
fclose($fp);
?>
如上 注释掉 几个无用的echo之后 图片打开正常了
上边的注释如果放开,那么错误的图片打开之后显示的就很尴尬了 看打开图片的文件头显示的竟然是文件大小。。。。很显然这就错了 难怪 去比较两张图片大小不一样
文件的大小是109187ʐNG
IHDR # `b IDATxݬ݅ݜƕO$` ۠ۢƅݭť٫q)wwwנRēg{࠹࠙sgᄏ^^䵁��}��r縜)477'Rӄ_.
ٿ
؞_̿݇|=핯��kϾ��Zڼߧ:Ӯ|ڶޛ/SÚԠyh˖֗6Ǫ4jr몫lG׃ʭK5ھ9��ŕɺјϱٲ䷹\ֿ}S��U+��l��ɿ��bZ6ǸkϽؚmuľԏܣ.دӵw3߾،��A
jPĩyZ婷ҢۖŴvӵI˲Fήח+Ԓj����˧&Ǿڶ霪ퟒ���fPΓƂ1-Χں̊`؞iƁpܬұ?MMMiGJŒtΥ̧ٹ)-_WWеSnㄆԱuꓯ릚Ĵ��ܫ0R��-ܛ__迮֖ײʀ
ퟷ�2ZZZRm˳c?גy&0d_ބӠѴdëPÚ��π+<Ӑ˟ZB��ԖAׂޮ]Б顔x��5fXշQw̜�y֫јB!ԕ+Yڞfhȯ+Ի[~ӴӘ��ױ䚡ҒVˀfǵ?(Ŵ࠶1&j<��Ν'W]uլڤҲĒKȜs̡ǝ��`ȐOe߹ʀsˌ3��ࠏ^CCì֖Z2��QN9敹��߹畁۲+߳kݔ䷆n$]tҴ홫Snיh9~��ξ��Í��Ьԍ&믿��فX갰⠋O?͔ͯ6&��۳erܘ֕YŘ~��5��ڂް��մ$*ԇ:\RjllT��XUʼ!UǢѐ0QՖXh��ePދ^Uї��ȼõǧͬ}c˖玪m2À͓ԁ~(O>��ܯ࠭ȅ2lٷɖlձו֏i\فIR^Ӗ{饗d࠽��ߒeיƱџşߙ*֗(?jՈ9rŪh
ͩIJz��T滄��턟vί1cƨƽ��߸��ޞν��࠾��؊I&L՝wޕN>��mǏCǎ֧࠽ו7^ȁKCa��#ᄋ^e>™1ЩõɁ
ЉՔ6L��ǵҤbmɲ߆Ӡࠝ۴U��Ј}��זDu͓Z��˿��맨֛n܍��&��Ō40KO��瑦3۩Ѯ=ŞϿ��ဋ؟~ؖĂΩm2BϡөԆ��:J8ࡥ4/߸ìڧ߲��/7΅:χτ��ˑG)nƧf̖A| ��셊����kѻ��ׂ͐\����ח퀸öӴӋ̮ܭ绸L5i]h~��ߛqŕ3��"Ӎ6܈}ޯ��Ōϒ*G,ࠆퟅ�:Iv࠽w7֣Ӊ7hjjכoࠝ녩=ì갃;LΌRÚՠF��իθBםv[y��[JK]юLHꩧ墋/vJΛj5CC\`EƗОe&ܫثcðģλNڨSSĜ��֗ʗ_|t?��/��ܨ>��ڱ{Ͻ����́��CQڌ_AI̹Ф@۾Boꁒ᯿��啵;0 ŞާH%ﳫԦ��ퟄ�VXaYt҅‰)Tޗ��엍6ܬ3eМ?ʻ}<xf]jƔt&��пnVڷ��ퟌ�ŖZ(u؝W࠵֛*]ܿ��x��=ڡRҧ࠽Vik"f66F 3;vն mw��ߝLѥ��德ࠗ1࠵יTK^aŕ妛nҹ瞻ͩ́
j��9yW
Ԗ\^h.eԅ錋/ݠԿ{Əߙ愓OӳϿ_ꎫϾ‚߾}$ࣳΌ̟O<��ꪮ}ĥ㏿֍6ۈ܁ྷއמzڥ؝ӺL��СCԯ@;ϻh��ڤm͚G%¿Ͻ����Ԛ[hֶ֠Mΐ|qcC��y1
Ȏ⠪1bIJك嘟ξ:LձꔛԺ݆ȯ̆H80Ѿ}��<{챺lѾˀ��m„ےڮĞƟԖ|��T6I9HSZѾ��5ܟ罐Cɏ?��ݳNEÇ}Եw57ܝۘ��gՎVZi%'Y})\pª³̲ˬڦ۩ࠪPÚ��͔Cy[6S5M��/ěʳ·߹[YdaڴӋޢҘڗ��ʶ��עӱY��k࿓࠾ğǟ\͢ϼ��٩䙚QڵС_*ޛxᆕⸯ܃U˻�РyʆƎ+?��z衪EBkQn`ǖǐ��l؇;Eyٍ7ި/lllЭךJUa^ȩt˭ؔtr)߰?Ԏ;M~r͠7࠹Σݏ꽿إt
)B폽��۫C��O<��h\^É2%LȰ߲Vgݭ#oǮ˓9Vƭڶ:ҐVYey砟Mʹ
ǷܪǾꫯˤҁ܋.ڨړٔԮ�Кk̮��إ0ܪ빕gjPğ+ؐ΄x��ဿ{%NWѠ<&w8Ԍ3kџRK-ʹʄzܸ0ԙfءͨLɲV͋Z[m֕4碶ܯS��z٪ʫʅ͛g}Х믄zwڥ
Ħ.rӼ����/㏭����-ů��˃?ա¦մ$ޢ]iࠨQ7ݰޚ}Qܿ��C>шJ^̈́7ϣ!��‹ԗ6ǫwՑG쥵ⱭʬE` ࠸㍕&`ܭםݵיʔш_|��Lj̐ʹ暇M꒚iˉ֕gĭ1ڝ:ЍVӼӏ ԅ붍S顁��^yƼ寻ꥡca<ퟀ�嘟^כo=cLΦj.ć윾��ٰÍռۻwoeˈOy̭��j��՛aǝԑ‘>��=0��䣳؝wˀNщ&ܬˑ��ü����=º҆ۀwƻf{Ͻ��s̫뜥ǀa٣~4F߃HT*&P֙⛤߮ݻ;
��/ԥיV֮bͰ¦OgЗ[n��֓Ygݵ͂ͣ����ŷ̒ګλ^
��鰳λשƇiő၃+OӢҁ~AuEѽ#`Kʴfrգ՜��ցۤ��ﳎ:뫿ѻӦϓO?]~����GT��¨ґTŌ
ܔʜ����ˊnÇ˹D��m }۩ƙTkǶ
æݗEГ>L0J! 6ڎ:븆��3Ƙ6bΕ°˙իPÚ��ϥ ډӹ��҇WZdžFtݷ*cɃޠ|0gbuä āSŖڞ?⸌/#dι谌����ԁ,טbʿPԠ{﵎quї^z1Udh࠸
QO?��\LFϬҔߗ\pA��Ө?Æ
R��_@u41$5BsJ^sΕJؙ0ؙLȈи{E��ӡ̐)ƐZٝ
7ܠ>EԽԤХ«ڔ}҅고ϗԟ"ȺwࡘAwҽw<w2힉2+��™۽œڤZޟ蟇IްÍʼئ„��:!Dڂǟܢڮԅߐڐbι眍")т1MPО{�ǩ̄3hĺyҩ۾ט_
j��
ˉͷߢ4ě4Nٮϳٶ s=ڹ晕ҠBƾ 0Cؘ=t˝Yʠ͖ޮż
O dϽ��ߙiЯ_?GӾNĉᦘֺ��6ͩĖ@ܸވ~"뼾��]Sڈ墟6ʆ`A;Duיؘȷ[שZ4'\u��żِZTѸ†<І`Ξɤʠᓸ_{���b+&@&Ў! 01H5յ�iݰLՂԽŗ^ʢյN볩Dͤo;0&ǩ̕��䨣rDŽڰoۼ��Ӏݼ��ĄSdL`zT;Ìr��•#)��ثѯر@v/��՚Ć
~=ƹФі`ǖ#ć焵=��EؼllA9bŻ�ۍH61ב牖͊+ġA˨ӏ̊E`%��U_ ¡T��نЀ㵷ʃQX���̼��[ɲe[?⍜͐҉ٳLjǽ撬ƴ��ΫҵӸ⋫D3䞎X8��Ĝ͐
��?͏G-2Db2TիW隷^��@!}O��_^Ӗѭ#ܒӢX
5Ə߷႔L1ӽ��q*ɦܬš#cg&OЄ혠֟ԓP{>ɂ߂5טCş߉͔��5��½Ǹ_N9唥̀w࠽Wɐ-ƾ=ꅖ[ݑԥ5��VF澻_k܂۴(g[2l/ԥI㜺O}Do>��͑튽"ǣ㍷V-ӫ5ت #4Q.ܡp��.&蟂?3��̐ېxفђJ+:ζbLj۩MůʶKy߳ѭY��&#갂^3=Ǎ��
绶ؐЖ��긟
Sbῒýt2Üsιrh$*eŇ2l!`ϞHH
ې¡ި�� 0(dށo# RѲL
��$娙��vǟ��ޣ@ǀƦdu猇{L��1̄È杳NޏٹKխبИ-PǾs
+HǞKЦέiõɁϋX����U |ƙຉԁȻꫯԶ`ك@ۭ˔4˘j΄��b Ѥͷ࠼JߠgҶ��鷂>��g(��ԗmEߟ4ݸι荾Կۯ��̪ƛ͝69ˁ;ǑrՉۓrLq4Ƨ.Ś՟hK˖%LJuĜqđ)Ĥ$븘1ĝ ή時„̼s?ծPÁʢ֟s͑ʠذߛĦڴØcŠ몑T߬ۜ:xҿ��3��ؤΩvѸLlν��Ԭ1ƊߟљD O)ƊDzԟʧüު23 Ʉ痊̽��(Ȉo��6̴ƄkPğ'@ࠠ2hƘ҈,XL``”ɦċ˛L sɁݱߨ&4ۜK\C٧+ѣ~܄p}שCkϽ֖l۩ƛŁɰ^LȐ:؝ˈȑ?ɒBc仛1ຘ܌P@P ̖C;EٛPɌtkګ:j)k��Љ6=N!Uٯ٢J��&.۾ )��Ф˙=©zࠜd³cDާЙ0LΌTtiIܮ܇ܪбϲ�٘ږ
ۃЍ|ŔܲΘʙщuJد꿟r٪࠺��Ԕͷ҉б6܂
jPğ@
8mǍ��, ͢(Φ-&ڟazϽ��eƠ6Ӄ��٘��':bďʁ����˶ƙߑ��,ʒh¿Q鄊Tv+\lqCsŖ1ԛCEnːޘ�ӎǁ!&U 믿ߊݖ`̬۶ÐDž������3$ϐ
Iʁ'˶úץ߆�㱣j��Ҷ踀ǘ'"ƭ^؈ؿTƚԴZՠ0ʼn'(=FKÜpՒﻈ��b–f~ːŻ뒴1ΆÇícrRߕ��̪`ըі
ϕЃ
��v��͟vĀMͦǴܭhS#l̳!��iZŸɲE%oέMӃgաju��兾֠5Ɂ50Z¿{��نAĉBbړࠐaY\ο��bǝvԽѶŁ;u��䙃>ׁżįڜ։ʸCYٯѣ Šݒ0U͐G��ڟŠ>1۠��Ǔ퐓a߶����5ٚ��JжӁǡIz-f:��Ѱ`.uڄV7ߡĤqÉܡq[��"I+ۉྎ?k>KkۅL
tؑǚ߷5g��Ex꡵茟W;㰸Hȏ#ʌk
ڟ��́
j0- رùӘKРbԤ֑ć锉9cǬ]7ʵ!NW٧s1#4%'`fxNkи{Ȕ*bYaƽƨ��0ݐ}չƽ?(I%ˌMӯȍ0}'ݎy��֔h߾Ȉ͕{yQג��5�� ($٘¸14š"ʻԂ`IܻʛԤ|=Ӯ辶·zǭoІ��ŸіA͓v뚎A/ſƄ��ˎ�ХҨŎẔ3֜ߞ,ܵNϚա֙ρЗȆ}ᦾqӯӨ֍Z��qsѓżO܆5Ȇvhڱ÷Aˊ[٤=ȷD۳͟t⬦צf7лwtġٵѭ҆:)E!7f}ࠓ#Rш+
ј2M2_��#{rpg,Xϰ*ЎǾ��Ǧܸ[F
~ΠӦԝ
ԕЊCV#
)w��%9#M
jPe͙��cͯԵ۪L${Уm��ٻbk볥̶Ǽ��=îǿm
*>ŠĐ٦X��m\إʄZWѝ��ױ��ŐGƟKܫ0킔{ƂԻLԖrWǎ˂ſT裍
MҜ8YՎ밶ȨqɱÚԇyЧԕZLȚ«a+ۤգ��Յdȶ}S
ѧ2ퟎ�*߲朊'^[ƿܐ(ŏυⷿݚ]Ď טʽz:fXRMP
u��ˢ۬"̯ք|>䴇K^řNؾЧ-yzӧAy:՞����;%��VϑƜ5ͰIuAU��酰ؚՠi跌0)یG͝'ٷ+yϟًɬ|��ٷIų1썬%ݙזÚ��ŅՇ藝ۍĬ'Ǯ쯟@ąڹƆ50φѹn-��şҦYۥ嗗ϐܯ݁vࠣ/),ΠxԆ5Ɂԇ֓n˷κ;o9\%��ĵɁ儅ߢ.Ҧч˜ȗڹyԩҢįr:cʋtȆ5��ǑåXѨ˥$٦8p,kPéÂ֔rAZ
ͺ׆Θ#ܮө|҇W2ѱI٬^ڭ윤י��Xӭ5ѳ5轐FXմ6ƊݨAտ‚ŀڔ_!P[ҵɁԃ[Κ
ɐ&٧]y嶗d��ֶ��2ˬ-ڛĮ��ϚԠ3ӜԔٯ⥓ތ[pLРCߟ.G࠰ʌ6Lڸ㈲aƮț
j��̈́��)&Ύ쳫-)ʆ}˒ՒƕƜ��w��`ٚԠŽȹ*Uҽʺ,ڸ࠺ˊͫ��٠AĨʮ\Q��5آ:R(ɀꘟ۹ڦȴ߸J'ȦĦԖ��*lbСͨZÚt6ɩԐ-ٛť˯ڹ5Ɂ
:κߩǝ��A
~͠QÉX܌7( FMmҐާݢ#G̵R.ԫϣfƩA
&X]łϰӔɓԨБ٤��]\ͨĬWӺIǏĕjPğ����_ցpԇ駞͊˙M��ġ棿keke࠻ѲϢTYƂт5��̒Ϣ麯ղղԻ٤rMˊࠗլ⢲ŝ|BSͤΫゝtҖᴨǁߨ߽ƊɘߒͿܵ:ꨕ͕͕͔%1q]%ǟŖ��Nۨ%dց#��Vז��f̮بyaeƉlj|䆗 đAƌqH~݆ĸӧƗ˖˖ʶW6߹ߎһ��ܼź
BhҏꨑؚښٟKڸ0��I҂ y
쪰ئփE$s2ܱͰޕࠟhĬ%}[ȊNNݿ��c69m譶Nܺ��ؚޱ��DGvŋ��?ײ5��Ŀw²ȫҊqأrFDŽ���bzހ߲ߠZڤ2˚݅i\vJېYԡԧmZסԦxڍ×Z����6��Ɗ=׀^س=ԡƿ5��ᚿΎ��VٲW塤j`}ڕ-vRک}նtnƇғז]*ٚĴؽ��ʋ*��ΖǩȬ/࠾ۙՃ¾DΨ‹.ѹ朏ν��ܱՑG˷࠼#Ć͖Ï?\+x����ࠗ\qż��|[eϽ��ֺϺ뫩ZvJېYԡԧmZסԦسǡ֗^ֿ��ƚ嫯ޒԎ:K?_|��7N=������[
��Q繌1G̨ѣ<ϣX牧ࠌ݂LӋ/ݴںˮڨڹ曓6ܟrȡʻᅲ|��࠽��ܘ<��qȽ#.ڤҶ̎ذƒeΞ#ϼrږݒ6tV{.m魹ܖm謹٧࠽ӱ䇧Ͻ��1ǤG}t♠��찣λΕ}?6lؖΡറo5��ߛoܱڡƛӋ.۬QF��9��7߸䅱S��Ǥ؞zk⥔d࠽����O>I��}ᾷޫҬ莖ֺiӴ,;%m譶��ڳ6Λљsݙ䱩Ǿ욧ܑݲ˭IڜNښ۴ؓ+e����[
9��!کǝ��Ґ)pʵ۫ϓM��ߜqǝɏ?��os��؟vݶ_]m֝}��ת}��i٩iCgַ蒆Ξة݆Κ䎚ǽ��߷߹˼X{|��ȫٻSƿԙݕ��ϼ��࠻]`ė_~yrԍ7醻9��G}49챃ՁÆ^|��M��c�� IDAT߰*踚aCǦϼ��QG;Zתޭ؝ǩ٩iCgַ蒆Ξة݆Κ䎘ǣθBݑ,PL8GuT2v홽`=��EQğj��࠘\؇ГFȊxՑG&˯DΜsϽނ��˓ʩ۪pс%Ͼ��ޓߧUYٶgԝۛkC緡z(ܑqa۫ʣϽ֬Ԏ:ɺ뮓<��ۘܛkĴƧԃ8Lc6%mL
c=zվ3Ⱦ��؟ޞdN2DϏ;&5jվƱ㵄|��(N��ښَեxu��iچdž]o��˘ո=ԷVז��̘1ϡƌѐӒݜu؝��˞{ݰ¸ΐךk-ދDة�؛:#߶ݛލRBQߣeÎ����סjʆ6Բ��oޟߖcׯऔ��ޜ"ݏߝ휗����ۈ��JݲǝʧOijƫ6Y?��ǔؿWk��&ŏ 6��ؤÏ>ѳxeȐϔ ^y啲ˬԈlВ۰Cn6kѿ]ϼ繁߫Ȧډ˗/ӲeP<aڜ6قպǥߺZ6F��͐vfǶ͂��ܳ샋߲vࠚsԪ࠾͟ծcfˀ��Ӻ伓v͂��[ӹlО{ր6چz߷غ*ݲǶ/"I˶Lmތہ��؞ͷޞ䏿mӞó٬-캘��}��ˍ ݜVe��°arכԜ䯿����/LGԧߺRN<��۫淿��֭ިXR͡۵IֵĢЙ #ʗ˦߉ӣ�!~nj��~qi(ࠈ²��ґӕȲ֓ZoD=fıծKYʼת;“7hǹ碋̷/Kt'5ЃѪ㬡ؕǬf
����ǜۚéڣۗ/݄ÂK:ԛo<?ߏ&ퟓ�ƥ���aj正e
b:ԕ&
ڒаªʱpZԡ傴ߦdR��ߊ:Ǔjô3,3/ǫ҆̆Ԛ}ɟ7
}(TʶOۧߢ'NԣκJלrK⧟}&������Ϥߎ/��ۺߖ٠јQѻRoPm}=FL;۞#RߜǷV��M^Y��J[ەLXȭ:^60<cՙ"nܘMg ץԏ��ӶʉڝlƋր̄ȸ者ǂӺΈŋUr)ܺچ��֛ݶ!ɃỈ"ռĕ쩨fįɰ4ʰ֯3cù֙a��[^hݺq驙دҥ!/ؘ��9m��ֳ툦ڶ멛N��Q:ܞݝ)ϯDގk[h‰LͻߞTԚ┬cϐ՜·Ŭ۪˾<óϿOS:����̡ǝ&]ܶʚtØڊѫ#Lٶ0A˭Ū3Ě׆ٙ`ܻbډȀİӡ����bs��lL��#Ɖɘ飂۞ǘލKLD��:��$igB6��n��褅 ƴǥ\^忦LZv��Bvܓ$k&ڡӽٶ��B!ᨌѽҘᐂRiꛥƄ@ᣏgҾӟZұ��ǧsݍȹ߁^رž���I%Wh5cҕJƆȯ^טcM9�Dĥ&NlP5��Ҡى'Ɍ3Ϝ.��鄎544ȆZθU��ԉ5 wӯﶢPͼ۹є4ے*9Rٟ06ȴњ˳Ƃbbjݫƾܱ
c��tȭϬ"ػ±ڠc85ֱࠑ��¯&��ҟȘ`1ࠤGؐ⻌jЋ��ɡ폵����6ׁ(͞إɽnSֶ��3Ι–
ǻVυZcX)ҩۣɁзؒLŀܲ$pԶeƾeý��
fź��ɩɇ˰Ч࠼Ӭ۫Κ��OTǘ]]، 耮әеk؊pϔ��ن>cyÛŗʆEYLčMΕ͍࠙œl랼Ѡ࠵��ļھի"ࣛӏmݫ��KDŽΎIBFؗǒޤ횘<n<fͼ֣ŌץqNѰʊǁ��X3үfRxԶϏ齇Ϸ5ֶ'ѠZގ͟ȭ>Adⵛr&h"ܷߛbE03ƺΏ_[kqR쁣SӪc6Ш|ܦVNqЭֵfՓӣ��ιM֭ƛߋۈȹŪǨϓ̶ޛǗ!뢨^3L2뵔ˋ͒1ӏ��?1_ۜڛߋd��t鑹��s��s̡ܭ֙f�쥗\ҕ��t6+��4z��ƙR"iӨ놷��O?��g߈ڌӿ۶k?&Lѽ����GϞΞӶ/ŞԞɔaܱɳ[؟Ԉ$٩漯ࠗԣL3ͤˠ,��̴ûb&Ȋ?��֨͜~
㻭~힏=��ŕVԑ#Gʍ7ޤܬ҉8{e.<ΰ֯Ҍ2Dםv[��Ľm
yl.䮇A¶srêˬ"Æ
ӛn٥3ƴuיfӥ؞J査ޔY��gɔАt؉ʫΨ-Ԑ^ϏP��䚧ޑ�ԛ٦bȒrз֧$3Ϲ̸ޱ����垿��$ڲЈY��gŝIϾٸ&UqG$،࠻ྩ&LjˋƒͿɑĒݝg��fwشieޒ靡���ca3ۗ (UÏǞzH��%טBǬԶ)^S߾캫F؟&?��^Ϟ=dɥ֖X@Ɛgp%ƵV{OݞǷ߸S_|1e>y솾�l̫Ή��Ҿ��~ڡĻ��I꣣Ͻ籭.Yt҅Զ竰zXS?����]}(]۴э7țөcG��Û믻� 7ܝw߭࠙xh��܍oޯ뾾磴2����RސRʿ}㰰´ܯؼ܋ڙr؝vI߾��LJ�̽��Sť����܀��o{Ӽ젿ӌVІmҫϱhreۍࠀ 'ܠ'Pdžپ۞d愸裏ԓN;Uܯcemֺx׆կx߂?ҴᴍеƮY9ܼMYҳ̽��ԫᄋߒՇz0ͫn/☜pA��˚ݪбǟϙX˝s˨<xОł^?ޓǫ��fҫWФ��ŧ̗8гgO-臺Qǵߞ|[lN˩��:Εÿ[ҿ��!ubGDZG͠ZȿЧՕ��9ëפܯ߱������ &՞2홎��ٻԪ4Ïuvޛ��ߘ8��>ڦk餿��{�ƝΩէmκ̵֨GLC����Di+Ɉ?ūӣٍIF+����Ьטbۮߣ����σ؎��Џɦ؞uי֖Ҍ㕓OM��(
ĎnjХ9Զ6Ɵx≚Ґ������mʹEȗݛoܡ'ܨ[͒W]uՓ䇪DЩtᄋט[I ��fzꙝ c刱N
לsMҍϞ��Ĥ뵿ڵʬ��Rཪ⣑e��ދ`˫NR)4մJ܇��ݩp3˖[l—Ѯܢʊʟ$$˻��ΝܷػhƯ߸Ì>��ۘ֟)ֈIp۫ϧ߅_߷ljr؝wʩǜ˵��ΝDŽرۼ淿QʹDȉ>LǺ��ηpÍ7h[؝wޖӶ[Ѝ܅_,cƌ��9呱Bќw¿:ՑN-hѿ��裏ֵטâʹ~7v֮˯߈ҍ��Ԛߖ3θC57ޛZ?ӷݙ列vm>-ȻSI¾сñڇĪ۸ٟԤ{l��݈ڊbߊ Sֵ��ȾŪ࠽mw݃\ 5I-֔Rٹҍɡ_Y]V͢��jՈ��ﬨΣmYׁ��#䇏;ߙֺÖҔӽ&۱࠷-؏ͯIŅ����ﱙ؋QWק臿E��ɚkֲͥy瞗ސ��.o6͵װŤf֚nܭd࠽��̘��w/࠼
ڽ����Ƶۦ㘛ɆǏޜ읿|��ORᒠӛE��4&2\
I$րĴ‹غu½ꐿR̉o��yz¯ѣGi cϚ��λפǠ߶²䇏.܌ă칷˯ޢĤ4Bݱ睳(Š8ࠀBȼ¤D}ۯFʝ��'y)csR׆ԚSˇǦ̈͌3Ψ��e&ؼαȿ䶴LէхKt۱vYӤͤ‹.Չ0Ձ̅Ud��I͚ޅFࠡHO>��݆ʈL��^,9@î]ۥ�CɁ܂щMZ-L\rɚ����߾������knjęԠaǝꐲϾض��Ohύّ֥כ.ӎ��˶ɷ^˻1Ǹɰړ8A脽֬Ӌժ{͵֖w࠽G:Ɓ
٠��!̙σ0yƴ��7^ 'čg0Rǻٌ氖^l��p֑ȖL붖͍
JXܵ뮿��Ž̥3ce��B봨}�ڜnañر㪸1Fύ3VΥNsNMqWXaƌx��ΘdԊ��̊d>pĬ��?NﱎfB4ܳfKɽ (П��ܠȿƞUƹYɱۮ7SeǦ'4ࠥc乭kκ
ࠨ녹e퀅hʉ>1��wη࠾{ŏ����f[
�ӪՕႱ0\d|f١Ѭ+̵uA��U1IZОcGYߍݻݷ8Ǹ��:곜Tu��݆+dÍ6Jq7ѣlԮý߭uӾ긷ڗ��&雑鸞uԑ#Xp鶽͗‡侃;֙©ӗ,֏$:)N%՛oߙ̌〞zࠑb3��Bv?PܬӍ��MяЩՆѣοɞä����?W6Ұu��^LV[oοĐ1މ㑗˜?ב ܚо5��$#F͐Ƅ׃fF齐G{࠷rdАw.ڽՑKmq!5|��RȫϿ.Ͻ��⋯ޢࠄx<̝LÂ\ؘń;��&=3_6ϾkFڲiQͮD٢~הxˏ֥҅
1٥י֢اJt҈#}cΎ׳̸ŢǑ[��ɟy蝔ٲö<��ߺˊ1hg뭷ޓFΗѪ!��Iu衇Ɇڵכq΅_"K.ٔj심ҨϭkӍ`ࠡמ8��b"ȑ͉0ƶ3 `vHϜ~ܚ'Ʌ݃Ȃ賖��o2Bךӊܷ雚z饝~բ6ݰ#騷࠽ǙЖYfYŘĸ_ަבFꇩ/߸BƕYgޕ֎ʼEʙ·ַM=ퟍ�λҦ`:` ]#̉셟z.ʀҀ<��)ۮ ��CՂƜκ뫮mƴZ��ϝ����:E{aǘP<��맊śoߥ۸Îۆnɻ©#Ѷ۫ٲ*o��/ޠܭ֛��曕|��ƦƗѧ����&ْ綾_qxqٞȗַ̿اĽΓ��ロJƙƬž۷��݄¾XƫNܘ��łZȃ��y瞲יgiƙ۫F��
C=Eģ0юg֎kż{䒇څ��h됗A؇W[m֊;։Κ`u庤ԏ4;҃30`֨㟐xܗsR8ژğ߁jxЀij1 5��V½ ��̂Οaǝ*A!ԉcϽˎcL?+ʹӊˆܐ8-Ii��EnRۉԆɡPƇb؉ȹڰ.ñε֚έȈ;Ց
&Hh̟ˠb͢bᱏWk:,2Hd[=bcڐeBӯȘ
_ùØ1��芦6#E[8Ⱉ˿ƙԹG[üܬšoød˅!80oMM
ʯ˭ת&աޠʰBـ��?��ؿ~Zţᄋqط^ "s^{̉'ΑFa䄝Oʌ<83~6ǡь㎑ʘU��%Ϙ ݬ/F̛g嬨ș[mՕց0ԒGp
)BɉݲvӁ퍱 {ܙثϿߪļӉ'ɣϼã#žᏹ衇eι痧Кa—^zʶ⣌3Д{̵碑GRA类މſh=ݻι蔳BDae҅˼��YpE��ۈ߅)-ܾ%ͳМ˝nWǢ˛sĠ3F3Hݧ࠽VǛڋ0̀Y0_^˜#|Њa0悶ߵכjʄ梑>��ҵtLjaR7﹣eÐԕW_]٢ACШ莸 Ư<N>φ!ܬӋֹŭÜ^Bw;ˮۈۮ¹5Q����/AﲫTމIBzƶѫ}&��࠴3Р��Œʈ̔yάƛ rԍ~뤩m3~[
ÀPüܮ��ۛL
˗FƠȻ^��f̈́G递;��ÌᶗࠐӋ̠!ƃƠ\,Խ����ɩŠॲނ��7qໍٗ6lȚLbBݣϽ3瘚a߸䟺&}ʫଊݠFDѡĀ`0]wݑʢϞo?qŌGJEsĘAnݱ7'ϪAD&şSO=UaܣզğHܶ8!Ԭ$͍ݙu!Р?D)쇊[$РѽȚ4Rҵ7ڔ)C4SFL����ࠇ-��S^ַwݱֶVO_בMҰҾYӺl��
KOšy喕ظ۹c��鶞����ْ��֭wَɎsú��Ո;O9楅=42؎٣aXᲬǣc{ՌKc]ว~ɏݷ߹ѻͶ[컀@ơ\~��࠸㱥͠좋/edᅗV
ɵnڲwݾ-kmʧżކn��_߸䵝Sݙ%Ѧ>��ȍXShѰN룽@ߠ����D]rɥZ:��оX۰I��yĶˈ֖Nη0̷ߺӲ̼gxSΈېĂt��WmZƺCS�¹C��Ɵ@ą}€Bࠩͱꫯױō̙t]4ۃ܃́ł��ٜ{ﺊĠ��ܠ$ݴԍ˔›東>䑃ٖľӂP٫����ʵaٻDqAkÙǟͭ��IԪ��ѭ1ؤ½ʈ1Ԁՙݴ̍��ʡ_ ߗ^xr܅#ͯϧ:۵uҔнvࠝޤÙl\gکʹX֢1㢁ٿӀmɷiƋ팦ҡ `����"ˡ`IJޏYǻʔW\qŶI邋.ѱc��},ӈ"jKŀ#8HCX��ǁ>Hژj0㑢ϔ5��"e��aѾ��A��˛ÑJ,Ұ٣ДƏ"کƠ !‹afѠq��:ӱ��ퟁ�wٞY8֍ߴۈ㪋|}aSl[ڙg��b죭`Wz
톍ܰ
݄0¿,��㓨Ġ؎0C+Ĝ࠷࠽��‚ِ��fۧz߹珉$dž8eͯ˹߈–fΗ^zک+{)ԶЬ��Uiވ8,0$vٱ7HߟfL耱A MƠbO nLȬ}LϨRX0ӂkґj̴o֙|ϑWbʇeɥذ۵ߊn];瑢nfX0۰lހó͕1 pAස鷪֓ёԽ1Ԍ��כ_ްӊſ@g��̝Ա����!؋'$��Ý2唕R ދх��ԧϣ'gՀǟ~ˑɍG̍Bhìq4Jݑ$وQH塎ͥϣ݀Ä ׃(`\Ƞ+mgݏ8㠊W;$ЩhׅUPJ
x^͑Յ=xʷ-аҟ��Êݢ-/ݰŠ6ԕ߯S6&Вď߫��@~:vg4%ɳȕ$]ŃLy@܁Åݶ(/̪2*3p0
ȂRV/Gݱ��!Í٣ޚxsӌ��LJgh;&~хg͜lߠ,̐6#u��ɛSӌ��dϼ��术ϗЋϳϚJр>�߸ӖԙfۧQņP0Հ0P ��邇Q ³XҜѾ(kDsҮڿ_凟ýŽ����ѰX`H��NN:ꄕ��!ʠمL3ᆍ��q}ڹ��±܄
AJ¶LDщؿKڏ8 ɯŠ��[nY7~quܴü#ᠤ6ퟛ�ퟭ�䩈ۻϽw;bqfŠˮ-p��VÆȜy)_RIEԅ拉˪!teჁo ��EÕ1匿C¶
ࠁ/k]xŶРlkȫٯɿSxI`Ż[o˶GܽǷ[7ᔕ��ƀj��&,i0CҘꐑ ;̆ۯ߸\|��a~��RȂ·��瞤ܭחу٣烥֧ɲe����ڕͺ1xь
k֢֯ש'8c2`#ŸڅÐ&痺ęƠ��άҸΕϿ5��wpD'[ՊF[>��2(ǞϘ㡑≇ي��ƴ{R?ܱΧS!$ćڧɴ
^ 36'םh IDATƋχ&Մ‡4x旾|ڽգ푍.Җnͪ`��ձ
ӝʢ̏;u��9Jȃڅ݉wɟH#qݢ^™ҡw݉5(ċ��Ą՜BL0
6��ԉtካΤ$B��i&����糁uHp2ƙտ��ńIڶˠֺDs̱걝žØ��L…AYٹႳFQΉ2{͐0
ѮRɚq´Ø��J��Tۄ��.ې٘
��١Qdy湊t,��TFίʅDݰ4ڂM��V������A#ٟOP��ÿ˯߄ᩳܬӦD٠ațȲfOIࠧe仐rA٘Ñ��śL;ɷǴвۢ㈳ԭA��̄1#ǨSlwY}��̼yfդxImݭѳ������ٞެ–ҔQמkh`kúYK|DZ*(1гܲNĿpӤkƬ6ϣ��¦ǾNޞ|ŖᦠBsBÚ騌BV՜`׃KdЄ1Bg㩯L}ݷʠPýǴƢl��Qk37��ځӂS��Ǐ蠥ᰈ_uȾƭ̳�G=&<��vӇ��x܁7-=fl㰆ʢX̍¿Ƥ�ַϜV͖wܭ؋KϾ��Kڹ࠾��B-Â݂-VغՅɀƒ WȠqҐᴨhږfm/訏%HNA+dРΘͰg2݆ԅ߀ ƌݟ&��B̘!p٭РW_}5ՊтörدʒԎݦĩȰ��콷Ԧң9̧נퟢ�ͫϼғӖW��Ե|̨T��igm?̦PPÅޤؘR6me"9��HdL6ܘLùƞzD`y֭h㴃„ԃ̀ÄĂ��ƿ+��ax1Ocß4hіFùˢ-딓֠Ʌ3Ǥ٣Ӹ4ʧ;fʴ:Ң1oŴ?CA÷溒Fܭݶ갹v滥ZְИY[̩��{Jȗi-��փ��–ܑ0ƚoۉ%hզۅ補AxZ��s-SM ��!!ـᛞ,2f~ޒ0-܌ܴS&-[O mª»„ǰRԉ݄ࠐ_;kȺ��z_oȚ0ُٔטw݆_]ȫϣ>ԟ晻dˇeʽK۰TنL!ʹeMŵڦŻplί~܌ԢZ帷Ĺ)ũ��4��͖ᮯʎ{ٜ��L��ӈϐɯ^]w��˛nڕإ,łYR ٣̇GĥL@ƞԨ͉MƂ̪˩˯ߜr⼰����dB+aA4>Շ-ǰrŢp��̵ʐǷ֕WˮܾE��™ΐ۠.��U��vĄ��0Օąc!1vQ͕ؽ`Phq̗3el0#aӄtb煸"͕q1\CԦ禋EďvЅfcÅوП aºȋ-ԫ،<��66ܛƈCD��š<aր¢RL ѭ
ĦӔLJɏѭ1糋ީ��ͼ`^̴s��сՄш؝vڌ9pↂǑxƎ��&
ABPƼf渓��3ڂ֥ÅD!䣛 Ƌa닯ߐˉɸ!0⧃X"HĄcfҍ��kצpԾ"ءҙڻIEĖ˛F��*c肵M#FX㣒',BַΘV̳mѭכ3ҐW��4\c͕H!��γ>̉\‘ւ˜a͠`Ԓ������Ұē��) .䍷ࠎܬx͠B Q[䎇ڋΡ�A Ӵ.3hԮ<£٩aZ|~L؍݉ĉ.ϼ��'>ͦ PҐK̼o҅䂁FḚ̀d!ɏل|˚á@ďDd&̕ӈ-ĨދKVƔe"DrウϪږߞm߽ʎ-��<xТ=пm
謿��<Ɉ��t10a@A'炰Ώم뤐}Dq{ x' ~:˘˟f3ۉչԍͧx‘ߏ聈bҡ۳nj!Jԏ͛?ohݴǗ(HFԥ>̔��Ä����"0Rˠ嫼8
c0ɚL"��Â#ئӠϴE ”JD"렟࠭˶ۉWюٯӝ넳8s̹ۈAk3&ғO��̍`Ąb͜܃Y#aR؊֣œ|و↜ۆΑυ K.Ø^c㔒DŽbB熚߉B߂ micՠ⎓屲37Ԯ4C֍߸m9}=
`퐙��ʐcAY��ǘ:jA��ƫ˺ϥ݅ho(.X$sФФ#ީÒ݃楹ρ9ׄ1Lj˜ԄШԵ��Ȑe/쇟}(ƺQힹѱžCð㙵;r匠Fʐ'ͣO��H����ѓN;]��R ґ̈∃
˵I#QӁՇᕓOэ6ذb窙$٨̐H҄'0ձؐ4̬C;z{o睭ڍIe?ìZ$Ӭ㬟L8ͨɥ״ܗɿ҇;ŧɹdɥWMˈL|90\4-��psœ/ D ��Ᵽ࠶Џ0w %É0%&伋��ضuž͢DŽǴ҂ЗN|dI
ASǙ5i䨦8ȉf0߇d!괍͗����ٹ:$5;��Zp&gҷ6ُ ��g?ӦդįŒ۟iɕ
ߨꑯΝ柍R"kڶ࠘ި8x敼ÿﱬѵ1@pB�°��CٲRH}6ԏkݠ;cC@šǞۮࠃc|≧UؤOh˴ኟеŖ(ֳ֓B��L`܈ք}
G@G̀Ȇط֙$[gAĥǢݏ8@��}Ҭ4ҠϻײLJpͫÏߗƛnѣ\ӆݹ>ˁܹࠎ:ʮ-bޣ֥*��Ѕb ݢ ��@��oɬ嚨߬Դwͧ{ՔAܘ̯„!ðќP6X;֥ 랻(©h7ɝ̴@ƪ��Rt ��Ѐٍ6ܔРe^`ζqМŠt,z\_fڥ��5{]0yଦC#ӥ
4?ۻGدD٫ҿTx{‹ˋda߁��ݕɒц��3��bׄ۾@Ӯ��`PȢ¹Rէ䔏Չ9郓ߗǔƴԿ��ݻQ��ׁ`ۂ Ž0Cݘ6±ћhL,&Ċƌš䢼ɢČlј84C>ڬ��ՠɘ̊`^ah+ɸGʤJՙٴ܌"<A࠼C͘ &B��ӍĴǼǿ��$AY
Ԋ⭕>ޖuń큸V��ý(h}쭗I��)ɟ)fYgڥͫŀ��Ղ#<Sʷ��ӦڄlDğŕӂ`r;蠃ݸ��4-̆DŽ9ùFpĔ#D e��䬡��7c��J?Dp��ɜΰG™aԴ7ɅF ţE“ԁvDž ӖTˮϳ1gࠬ؛֍ǪNJ9;ڈҁǯMЌ�ݳuہtud��Ɯנy晤}Ćذv؞��hӯ_baϮ웠��}U@Ȅ'̭֍⓷UƴpڴցҐѲ6V֏zïUڌ࠳۫϶ͮ{1B4hҲ+͠㣸=瞷ࠓՀڳ֕Vă쒇��Ȁ{Xࠨ/ؠdX)`ɔͩ��Ƴӎ}ՠfeĬ4B˂e>PJi,#��P0Ԑ"4ĝ˿Ҽ͓ԧ]̋Ѫ0)͈NVr2˻$JCԌꖙݲڷ<Cݕݥ��'}'Ҵ䊋Rn��2qܸŋݦƧ
ىҬ��Ĉڵ��Nȕ%ׁީXɦܬҸ‰ݔݜ~���=��u��ΰ˴խߎЈOpL$9��穷��¦ϡWǏߢѿEď+ϼ쾯$N����eʛXɰaÒԏ>+qZۦk��S�� 0ޯȕވAf��8ڀ2γ2“fԡÇƭЏݴࠜ|��'⩉SO=լךjꙛɔ܄©��툫}̰:G˛㱺ղț��¿��ԃۑUߝ?ƺ舾⤇͎㷡 mqÕղ̇������ݗ憏Ӳgٷ;œY치鬵3όYܞ��t
ǧdܟXʺߘΣ͇Ήֺm߆ϟȳߓv��DԾ)7WΏrv:H��Ƶϥۣץ��gʳ��/e㻩Ýzi
ևϟô<ell��mgl]ƪϋܷqnظ䅿
lNҧܸ~��؝8Ó«��ђڗ@߽Ϙݶv1ΠꉏԱ։u��IǓ̍s࠸ㅸƱퟙ�ѯ顃?̧ل'��߾��h,��ɎgܺeH鶞GȶŶ$Kč$By ܘӆٰE‰4CύiVvĈտǤʄ ؇ćקf9߁b¤ɟ.>ܗѝđLḦ
htlׇ��ދi%Ҥҷm��ʪ壂#}܉Iɉv⼳)ŠՠìɄ)Ӷӗҷ=輣^K��;;͚��]!/ꘆҐפӆӠ��~_ֽ<غ]N3ѓ⌽KّɎDz۞šȩ<b팤ڙםט7֕҅XFͼ̇?ߗܮۑךˀҬɽ1Æࠬнי��ןZȃ=����&ŬqЕ=oՋӷ+оq?CɂǢeIG:ۖț:Ƶ ؏ᅗQ{?fCҢˬݮeےA00Ӧ㸊о��~[ʝ ֹȦƐɡuxߌ£��Խ[mdǜإ۔����\нƍ����O��ȴČ̖ʏ$ʟϷ7ǻfϞw꣨C&��차صd#؊?箸ة?gm_��I˂ֱ
}۶�>&͎fbټ0BLфҙĴݮԠŦnc$v^4tGhƽ6<ƶc��1ѯه}ϣ%D,˥Ȭkڐ:ڍʘ/ ԑґ?טl־s@yʘa��Zq݁Ҥ}��2DVžج��2쇛Să5>¨����ԪчҪ/W��քcc͐��H(cʅ踑욭ᬵB筆
ɈΩZЏޚ����ҧퟔ�ưȽۉꇜޘ™,b֒>X_'稱 $7fM��ũŌ삣d;Q훞߆цӟŧQƈאՠ™٢AܓPz��ģւ֑åqżL뫇!X‹ʋֈBñԴJƈͼ䰽��aʓ
`ل0L#̳ӼCҼƶ`��c2ƔKؓƳv��Vc(6eg5Sc^ҩȦͶՌٽ‘KƑϛۊ#%-ӊשIJ鸘蘤m`̯FND��ږN߿=��}Y6_6&Ӛh؉sg&ڈ~ٰ8п7ۚIO0
!鲉izÚLߐeY$��czbtяM؆ɔ
}��Ζ3ΝjޮzhqȺ˲"߮&ZdzѬ%DLaƿAȭQȓKl
wԞ؏蟏'O۩̕SShL4bW^Վֿ+ݰ
cԺ:
F䌹ڶNUާִθkG!ͮ
LϚϱ˚˵7+ վЁ|?/Մi͘٫|ȸdnCV��ߞ��ùð4홡 6Y
/$_Ѩ��ؠj!1��o‰Gߪ��ʦƜ欌��p%ЪÛǬO��ص톶"ٿܠ��!ʗ>c͍]չ
߱цRz߸ٌޤFIJ؉Ϛ泺kϑ҆qL
ߙXJ֪۔æɠݙ=I̤6m'hϵ۲ݙƕgl!��kk̹ŵ扊յ!c͙“؝��˗N"w'ַUxY+≊Ǟ߆̜瘡Vc:q9̼pұdصq,mѱHGࠈܘڛm䱞gbۺݟ۵ 䫍ۦ˽ϵۨ����⦖ܾu&Řc7sӏ[ֺ��OѠ¡Lس܌’߇x͢۲ӱL,»
iܢɱ·'IĹΎ[ö߱<ŵֶ5g̈́��yې̊$jb©"ܢÅ|��ǫЅJ ��Tή^ʜԑj)VřŶCۿJ}»ޠc]ɽ[lԖ些{cƭÆ"ͼ̩ˮق'��եV,>\';}…b ߑHڙWK]܆䞨ΫֶH”ɩ(
Մ塽��(h��bݢ��ݬ˫
ㄛ*A.ڧȩ T@܀>ڮz'Վ��*7ܵʻ��>yHҰʷ̙ݶ^ܙЦǂͅӓZё˙̎Д'Ȁ0WG&Ⱦ =HǾ
"좰ǦܽDۙbβ٠ކǓ$��ˡȕoӴ{Իĩү0б��u��2ޛbͥ劤Lh̄iL-��߶ՍO���!ǫࠗҡ귖~��NϚ艁L��-Z3����٩\쿛{öܕᤍޘM<ԣϣ5ٔݴbࠌȆ࠺��յ�� ӭc̹Ɩ눅ޅٗùݕLM͙`歙!†;ٌMÔ��ɍ[Y!eڳBߊ峒釽ĜIEÀ̕��neFI!��Ӵ]žۗ*��>Բɓâ RɊDٗ+/��[$z̧xڷj܊QkٖͨG��+TʖӜǘ��㻉L(һւE)Ƿ��Ϙ
Qmde)UꯕJߘfͧԘРŹA̚YǑڙΖijfF֥UZ\㥮��n
zퟋ�̵ُѡۍ̬ħ͘܂̩mٮEٴ8[`��̊ʆ3ݱ0:яaa&Ŷ&ҡلyЦέƝe%Ἁ5ɊŖ֒Bⵍh��ԫܾɛѧޭƣ&3χ ſLx>€ɣΎFʢQ-͗O唤��ɕ?a,��ӿԣ`펚C^ӎ��r¹%ԝTϊ0NΫbࠫS
AӋֺ3.Ŗɶ|ǡڠEhRň��Ģѐ࠲*��m
)ó!ɿ+XwbAյٯ$NЭ썼&Ԛ|nճۍⴳAا७γZ`ͫ%~u܊ŮΘϛ��Rsꅍz׆ڐޅQ㺂͊>ѵj걓帰Ժ)Øˤu۠٧jيɉ귮`ڸח8ԛ;GWʕĵ˳DĚ7vΡЮ粗ih):ͨNړϮ۫;eۧز-Ӡې�ޅr%1z:ͼ(z}Рǥخ`?-iɖXt}jI٤ܻ߫EۘŲͰYjk̰Ѣ癗a啔Iٍ��Ufa8~͞kҐ
Ǚ��(I㟙hQΘꏮďk᭭ѵO2E̔x��_��̽zġ잽[ˇĩǎ؉MӶFㄟӧ`܉0^ف۬ɨI5˚ɦjˉٱ¼媸Θm0OU#ȱĞ̄پU+ۥퟔ�˩٨Șڦ!&ұ)ګǵi;�� þG;��Ϧ_˚֕̓za!6̅٨ʘ燡��Uʞ9ӭL
9cܱ3r0⇋7ɿ|˙Ǭ&ݬ%š۫3ʼnĘ*
آÜ}j02XбɺC7箹G˭��ׇŖkOݯ3גM@iݏ_?Y?|Nˬ��榵ݚۍ
Łг2ykʹZ#˃P'ߤCË#ߗ��ۏܧϞڿ<࠼\Mlʙ*5ſӂƬYHspz˳ϸJ^]+��F6MՂ_JҰ^ڑڨ����<ޜҤ*džJʨEˉ*˕`f[ퟒ�צןࠠߠpŌnVǖaغۭܜ��ѵS��ڒܷķ=Ӛɘ3ꪚ?حɃΕ.3��Y^6:��ҽ֚ÈۯϚM*x-״Ӱ)̙⩯��f*ΞWLݓ෦tՃϺ©dșr˭4Ӛֈ��ژǑ´:ÌޛИӽޥOQnҳ��$ˠҳ㏢ ʎTE)Õحä}c1aɷǚULlᚦW͠Sք͖~(㎎kŞӑ3Ǭퟒ�K��ҍ˿댐cRƹԂɺ��Ź )AOŨs��ɧ%Q[퍵Rʹܒ& ��F��Ɛt]ŋŸmڦ3`óļδd|ޡ��6
̺߽��Ӛl͢>SXVȬ��ݷۗɺ
ցl��fûı9ǏDŽC麈ƅ҉~K;ҊO<ܯ߃櫴ך{鈉(ڊhΧ.᭹Ԟ6��cuΚ*c࠰㏲~пӺ��sέ̽9D瀳z鿬s֮ZŢгߦÃ7职ʲޢ۞̘:Ͳα.xӎDZީ$2_nj҅M֍zE ��ӏnR~텙GݮΆw_ַnچʍ-ʉՕۖ8͏ʹْ$EȀ늭zĔJTNVҒ��̗CչяR2ޱMخ҆ང돽PfXyu1{£~ˊ무Jߏҝӂ唉ߍ˖io��㌉ǫ͍쓆ZJߛo+)8棯#v^ܾhؙ̑A��sÔ.9K˧ܦ-ݘו3����cGʹͰ9ҸѩÝ˫ .7>AӔŕӹ҉ݤ٬TlϔeϺOЧ꺺䖤|rʽ IDATbv렺衺?*>8рퟰ�9wm߹fZD��҅��仌MJɝ]Ӵ0JdԓÆə-ܬL]d7i[Ƕi;fLϒ��ɣR+ulńMࠈ̪_ղ��d��w����r塠2∍0g&_ǂ ri;{B >챃5m��تCBˉ9kY��k��Ъ`uџr4ƾնգ80-ڛФɦY҅ҼعΪ]Ak4Fⴏ����Ҿ5G֑㵟Ǹ࠼rȜ}��ȣՂ߅IG��ň$g稬��3f,H\omй㾘w>��0sΪ|衇۔JLXŰߎAϖȭ9%?$����ኜAֵ͋ǏӴ瀬IJѝ��>|契⠉ϯߓΨփJ䝕����նȠ<��f��Ĺܘɳ��2��K=\ݿ8ƵlǾ"樘+Eƾ��ˣ"ާPͲ٢��[ӖR
ԢʵuĻGd摣eÀR霃ꟽCꟻT
Йb)ڱηߘŹv
Mڛ'ֹᎬіeʼȴ^1Ҫ*cڝ��˶9h~?ׁ��ܣЯЦͻ⻭ֹ\ϸ3ӊ6։ƌͅΑK٤ΝzɌߛ1Qгp̻jڸ^^>襹��쥝��뗰sÒ±p?}ì �ۊųܭ��ץˈ&ѦMPΑFCǼƦ0֙҇�ΩVhВƤ٤ϥaԼԭ0ҽ��͒>풇Ӎ6ܰmٽȇּ��촏顂ܩģψ͋×2э#ƖݠԬ٣à&lإᇰĘ"ņ9��Ymϼ��5?KKƎxs?۳SO=̈́Ь8vخĂ}eěөf߹v3��Ȯp~Ž:>·=ؘ訋дvȦHMƌĖ̜߱9$㻝䨏ǽҾĦܸ5慐Ɛc>ᱠkɄqx7Y|ӲæР'#Sd<BࠣӬ߂f̄λ0ѠAọ̀ܬb��1ퟀ�ܷߡXܘ†ɑ8����뛵<`nIَI$̡1C悡zX/0YNKQ›��ѼHܠ؈$ϐGîR ۙÁ㣛İØu얽mܩȘ��r櫣bVÒkܛ}njژѣ55cDBϯ䔄<ؼؘȳԮ$WϤl��†͡ߋ|��Gӫ3ȉβk|WE5նJ翶E)Q](iväئ��Yݚݩw܊›ԟ*ᰃ+s̸qࠅǑ��Ȍ˭*Ԍ6бڲ4ٵ0ٟ)-Ѭ4ᇑ-ΤܫNձfǠݜ:
��Ї/ެ]Ǽ$㈼ ?ݹwӍ2㕡ӫ㵥ࠅWIsߺoपJЕWצ؇㝳ɬΆҦG~��د߽ƧְدߠC]:ă_JF9%戇Ͻдǽ��ۍK;\hٕ彡ࠨݴ~��Lz^Hzv͗o߽[ی5Hz8檤㐢p¨ܢ¼:Ζ;ݽqƁ2pҗ̛OϽ��ŢӫR~��òDṢ ֝SںPܜ۷&g��@����Nh/-ȵҝEɃ焦;̖��نȠϺ1Džړ��UՑÅ{챺郢/ǙRَޏ@ʳʅک9Ï@˥'''dі[豩0ԡȍڍyÀȢc>݊Ȥ��‷T3%��.PـX÷ϣp��ɰùփ3a@ԃSشІμPߑܻɠ҃ȋ#2۴9(ބ��}A5߃ߡޤWXAȰ��69٩+ܡGR— ژ—��LٝĸƊਗ$6ȯĹ>_2̥IӉjݜƶ裏ꒂ_|ϣr䒇永[Сd0ՖĺðᷜƠ3��و2
2��.;Ǎ9aޙ'28·!鋏#̊~ïv(/ꘈlͶב덥ن!i_҆Ȇ㈝,#��#˿��-*m��ԴӆǠ2ЪB ঢ়ؖ��֣ퟏ�vT˩ٙҾฦ~ʝm4��іߙ0eïՀ/4â簚ջ͕ࠑõVׂF܈��ʋǐ��IڟāuF&8♟W{oÌܮJ��ƺI맙}߃R7ܱ��“К蜂䖨բ75?։ϱ҂࠾)]ؚ_Z껈wW擏ޖ1}��攮-%������ǜE%0դ'ټy牲쾷Iݣŋ;]䈕ߛӕ{{<��|հbӳλd��oѷ��ڻΎH̪ӷ⓭څޘ7Hӝ؉产Jݰеⅹ����۶܈יg҆矓����x鸍}gӾ?
��)ץέd��טQzُǞsʈ��GĆ:f#wࠪŒ˥ۅQߩ[<Ş뜽f蘲烏ɻϮ.��ࠬ��K��hQ40Ꙟa-۾��bƑ=0ͱݓأλLJcd+чTǂfўpƒӱĚѶ>��aѸҔ!وʬ|ωBje1q-ɯ䡆ԎΪሠԅȭރĢl0)˶0A#nҪ]Fܡ0Q41ۙtằ䈉)ǜ˄bsǰӇ4^ւ̯秴��6!408B
@Ġ_әf럹 ۤ乔�ᕳΣd��}����ų悂^Iߥ0쭲ܬݖ��\��W��'ۑ͂Ԫ��[ΐ?ށÀѻѵ߿̹㩇A40͢Ƈڤ1ƅQP-
퐓0������EӾǯՕ瓟s��ͨuYĭx͚ x}ކ3"ɁY_0Ɠ+
����s��m��+㫴Ľ7ۨèM\6ɽߘPaٿtZL͜%dzí"p
48fÜqε瘵|͢«Mzf%֖ٽԏ?#ܮډjvƱ���ࡪnjzש:bďꃡڪ싆۬·ުx۠ݩxuԥˌ\b)��欆 ҮߒqZߣX攬aN1ʲnȾ[w߿��秩qh
ݹ겠."s:Fޭ̶ЌŤ}?\̺Ԕ;ᯁқ��᪇݂ٝFݳ˜��ݐ!2`ܿEà帕ЧϤǵʅؑޭÖ,��әֲؒˉ8��FǦ2m��/מ߿��脎"]Ͽ�Ͼ2©ҴHХו㧛̜uT'ʇMʼڎ1؋O؞(Ńκ��лɗǜ.ő࠺?ࠂKKʯ)}��ݰջм>RȌ껊��-ב��}��yy鿳.2⑻ĩ2Н`Į&8㣏D_V6ߨGЗӧλKZn��4ÑO< =ڇיuoɟiVՃF,ԍ^`Ы¦QNƌł!Ķ瑖ˈL‰)ӤgV!���BޅțBı衟ۆI$��gŋʡ��āI��fV6Ib߅Ӳ 8 $ߜۏ&EbƬن˧@ֱы0?��zaZvڳā4ŸےmΓFΐF̽L|岤©GЮڶ��#ϼӊr؝wɋ/ܨČDШZ̭̄⛘jb\ϕܯϽ��ؗɕ Ýg߁ڸ+ө毤b
Íö͋K>h`ʼĨaĦ5Zp̑">ٸ3��ɑӎ?ǭΝѠs4Űuo࠽ޚx9hmɶпr”⥛تï:ߣBǑʼn*%Żܧɦɞ\ؖ̌ߪ謢Xa瑩H鵷˰dg湍߶רaԵs'ퟫ�҇+��2ƪ 'ە8%՛BȂ/̦Jջ,h��ȫ˦e��gޖ[nyڬӋ擋/Ӷcq��Ճ<H3ش7o",Ošŝˈƺs뛤Mpx.듵Қˋs٢Ȕ ͮ◗غȕޟԝ竖Wӈ²[ߞӛΫ��cϞRϷ볙or��Ŏܩ��dN܋qȝdtø��em7զߟ٩?ɯ˖+W]
E��'��֙]T\3^ί?ԁ؟/劣䧾؋Jkͣο��_NڜnĮCLZ
ڟ��光㦧|sɬ߅ڻ��t9׳M%вط_ʜzǴܢKڱɇ娋Nӆ錊+K��½ퟻ�Ÿ��֑��㱯Ņ帑"ǜ)ݾ|GMǿޥ⩗ʿԷpvUU:螻3ɤ'@B ŐBՄA@ʢퟠ�ʅAСϽÊ؞EQ͘h
ퟆ�;fB 궊ݻܖYwﻓ(">��fʽ謳����؎밐DІއɝ˖˹֞uJ= f՜Gċ]aU~wʔg\-z^=]69뭙֟AϡӾ~ތF��w͔ဘV~뵙;��ޒs��툥D8;oyܴe㵭b`yt@̐ ɕ̊ҝxᐔ$Ɓƹ"șøࠀ%࠘Š��LjDˡߠôݜ̕&0f$b$u3Фʱ`ʡ0 ǹ۩ȩ-:}²̆̄Š܁@vŋ̛͎{ B>K䆻|Z׳=���߮畮만��ىƙٸ]ۆaఌލHLjVϳKӹj_ؤ҂aV̥瀠 Ɓ9̗A$6 dV4`إQܯ‹ڟk��гΰ۪͗u4h,<坰��Ļp/ܬ2ޗgPϰbӖ C䡝`��ʷVҰ̂�4ɟFoL|��<`ðѹ��Ɓ+BޑЛn����OƬJ+즇©#
EqɣݎސBࠣ.̘࠱ηצeKQ ȸ��Όަΐ6lj"Vٿ+�� 6Ü֧̆#Lp��&ΐi࠽XIa`}b��Z=a⾩ލ`ǼVҼ`5!ŧ]EƇ~��뢁A荰ݰÍշʳ ®'N݄Ŵ؆ᘻڱ͆zיg먘˯}錫8WN^��ǗcԀΖ>X̤H>|ЌؿWF������MGIeڴھS_ߝna��ťhjBأq{헾ό_ג錠ωӠ܂@ЙS��`����r䡁(àϽfƍӡ.۞yXǭћlxbЬ;(oة��̲ۦإj赚/̥֕בĤ侇Kޣٔo࠙מzԔ࠺niϛvV[NJ誩lazڅl纍ܮ!̦ߠ��ʸќտԆm7Iǒƥ2EEۏ=mZaA.����Ȯʫ\'ͦџ뇟ӡj\ʣ™E͌Sաhŷ��ߥjͿZApӝ�� wֻ~{Ѽ{ϗeԕ̥۳?+֮aPսד$з˪��ܫ́G܁(零Lꆎ]將Ρذ2GͩáР9zйf��Ü͖ӊ��̩Ԍ#VPǧ��̙fzꑀ”
(Ø2AӼ�� 4Jl0Z嘂آʡV1՜v١듃›贘T9��`j3f��ПcŔʳШٿkĂ3`SȎҵ��ؠåʸX����/ށޟù��}؝T{Y#yc^D3۵؝ֹ ٠EۆӪ=즑ʘ����5E̢w��췞xBү1xə ڹǠ3eç725{ƴ_1kr舁芫ВԹܞ��mߠeဨ瑳��؞��44߅Μޛu軷۳=/ԟ©ٲ˺ƜΦʆ38ўʲϭNJ5y܃m¹ퟹ�i7Ě��ʯγºࣴ3S#ݜ%s��z㯜ܶޒq �� gнC@ѥڌӬڶ߯ڨ��BеیնњÃ0ȧࠟQƩꓚ&VūϽ&<úޓĴnݘֶ@Ә��͎ֈӶ댯ְꪤܷΙױ´м@F߿��İLjəOJeʦI��ۺ^��kZӈ��ϺTѸƇߒʩчQ��؉FЎۺuд߸tMӾ����+ѕٓ? Ņߕ5K⫮ю蟐��cGKӞ#ڥV،̳��nߎ6^ތ:EVſ͍ZҒo|Ujмִ͛ĹõfEj٥ѫٲ
Õp# ݫޠ̦ό ԟʨӯݗT߹e��쪞pڗvᶻҷˤ^%����6٠=AۣՇɲƷjČMΙҜ֭_ڒuڃ ӷÂ꼯ْ��ࠌӋŕ̤��=��5靾J*оޤaΆަu'ɚ?-`Аۀ֞ɰ��֯~��҉̗ДÃʦɧf̩ѐ|찔ӢÉ5vԺg(��4B>Cƾa룝g ҡѡevݱo
า࠽��8Ę>�LȽ���Țޡ3'$y 3_됤oᜆ��۴ۣ"ԫ珟Ȍߞ硦ؖЂ́ԐlѰqϠ̦̦ƫs_?
舉 Ӄ 'ɵ5֘؎̞‰cۦsퟝ�x>>S`7å��ĄzGӁQ*ъڃՆ^Пɧ:::[��N̴[O4Ͷٞ��܃ȗRljìѨڧݹϪ`ĜҎ1κ��=ğ©͘fۈ ̛��/<f༧Ǻw߳]
~Jٺ䪜͚5Z瀍łϽ��õm(ٲՂލ@pyD҂#?��̂`��҃ʳퟟ�k:Àى dc࠹״ꛏßo煝ę!,ӷРL
T͇uԊq=ûL����{VΚɩ>oy̱ӻﻨOئٮvzū^§рإKש`Eī��A)ߏ}]ܵ��Ųc̼ٜxٔ��ϬЧ猎ߐ��զȏ׆[ϕ瞇JǶ܊1f5֊5ѡeʹ��MڐðĚe`ր%ڧʽ��v
sȄmfγsd盾ڡß
*����ᮂНa��؟%rԌ۪;9l谡Б鑼joӛ]мⴲ������]g鋙dԉ<:ŷًR9܄v,僠h۱ճʠ ͣȫԅ<2>��=(Třպ-��툱ӷө��o؈\U=��ɍ̨ࠪ9Ďќǎ麖)ӡķ9\ǼtK��حצ��]���^ڿ��ё��ɖޗێzϬ}ūƫ��ә鼝Ш��§F¼��Ƌ9��Xقi衰Դ"И_E%uퟯ�`FРڃTĕ|@ŧq߃\0ڀL0ǡƃ`0VE%jPQK3ࠊE��I��Q��
`‰ۜՀ"modˀ{F|v��"Á hbl��côݓڏӁӞֺ<R)ڵ\ۤɲLH4܅HکM_؟k詝5[捯'��YH��Mq��|_��A ȀSᘛυ��ͽ��Aڃ4kτD܅/ża��oޅҠ끦A��ۓ蚃V3ҞǦD=h
a��ۋ}?ƏŒǽȡ좠��ڦ>ࠍ6ژӇͼP⛀#Čʦɳ t4!,.\죠PĻ ĠTrΠSߥ꒥z6 >n��Oݲ˟+424Y|܀&ߣQbefܛB(ϸ袋T`ÝZ2OLԘ"ث��Ȳŕ؋҇ߖׄ픟/璎/f��Jij/x֚4mā4c脡-҇˼AɷƮ s֟��шČۙ��嵇����Ǜ%tնuМ|匩7Ȉ{��ђ��ꠈ|ˇ٦긌zLFa۫²��J]��ߖ)ZE࠷OߌUәԜ$0��қl]zֶ6?��#ߏȂ��˝ӌ(葠ȩف؝��‡澯٦=ӘوdףҶ$����^ϿƴTͯV벪7T쨨-ѦGڪo*݃ܛ=⾷ߓC[t��ē]ࠍ6֚c)ϰοէD࠷.{����ǴهėЌ뵦Èб2��څO˟~����ʢڽ��vە6Z��%����?"G࠾8ʴo / ӁōMȁ2ٓ`��Ă˜_��̄ɬC†B��݀0]᱐懆Ģ qɝ݅߰Ҩ95ī xػǜ¶̼1AŇď즱txp3ۗţ Ÿ9܊ɋʱ��Érw 55>弡}Ϙq݆NцhRiĢ��KĖƟgb ͉A:'ퟙ�xѱي͚HեŒᩓ0]"ٯk˶ʺ"ʥ&5Hy굻U@CDžɊ װތছOSᦖ̌Όs��`Ih?ȢўɝM잫ζɰƶƻӆYQsjϘ峨ŃȜH0в_4��2?υ��ۚݹ暁ӛ3ɵ͛.1Mơ{ӣ~4"c��J;N̑T࠾60̢a9��@lܫԩJ!ӏ֧4ͣZծ˶ʵ䈯$矻U��@J!���ῄЯܫxf7ۨà־F#>Ͻ�� >z#䑧鮔͗<ѤݱPLܸъտ͋, IDATؔ9ܐ;4p+ߩ��ځehOӠ��]��и̪A־52�ȁЍژ-]cFʦo8F��ʐ!e��^V��Ψ6֨Pؔ@Pڂѱ&|��뺟Շ0\5ň{ҟ¡��uʰʛIwփ˛gHשkĥʃљ魨̌٩+νT^h䳭-Z&`䫍-zjάс͞d��ؽ��꒑ڏ镇o܁̜ߣٯؔrkĤG۱xr��՛ϖQǼ: 0ʗВЯﺯɫԬ_Y��ʨ (Ӄڳʨ+͝P_�揻H����͘8sƂO.ȎѦퟶ�ٹZ̦m��eÔϹUP.Ώ֕b֔ۋںɃḙ��xࠔg=+Cʵҽ��2]ҳ>"շ<,r计:p��ۃ琛FMÀ ̂Dv̥ـ>TxԅʥQsӃnhϹ҃CsŠʘ��@ᐙװ֕שƆ��ăaĄlцqFЬҭ3ɔw3?��#c࠙p莿��>,yخͥ҇
ͪغ{҂矂(`bS4!;F̲ŧ4
.̐EEѸ����ڛ͗;׳ɚs懓ű!ⴌLO^-(k╺ݩzBڂŵC+a}I@һHͯa중&Hޑؽ癌Ҽϩ
εt䍔#B1}ҿ.\ŀ銽1,ߨ ,0Nԓ>ԁ ݴһU��ǭh̹"Đ˃۳3ԉّ뿽svƝ
9pι}Ľޭ߳JfOD({߾\koГsiחė͘uƷ
r��ɝJԧ4շK‚°0ˢɽퟍ�߇>���NAɹŨۖbR/X‹=GΜՊ[Յ46ۨܞkϹ'аߣggṳ̊ ⾷ߧ
ɑ<~��܄@¸N>c~֖^Ʀպ/үJӑ껷ɋÂ:ѩ4fϖ5̖m��W��͏~ӔSǗN㳒軑ӨѼ͉>��>%��̸����ըڪCșݔұʬ薻ϽAV����}(žPʟV6ƴ/|Ɋ˱ệ7ϗMҮe+ƫ��#ƻ˜Mޏʡ4ij̋~!{qݜ��힘xݴラȂŲdӤڦշR癥>$㵲lƢY;~Ӵ͙J͕4ڡ8K:пش^��FJ%h��)ɨ$fʟ뺛ϓߛoI##_}ŔV/��؍d鶻˃࠾ʚR5؇��2Sڌ��ozܜw֥R_ۯ�ֻȂ˯@ړ-ٵҾצNխǏֹ逝��֛"����bıa⇉ǻ(ύZbG֫젒e\ØЫrn١zͅìȃƉǾ0?��ăaE Aٙ8Ĝ
L\<ȲK0$IL),ҙgޥأneы߿��ĹQ'&>̶'PBSAҝȑL��ץ)ޣU1Ҝ7ПʻŃ `����ợwPG᰷4կ֝\��ѪL@ "߿��䋙㿖Զڦ"秴cը7Dzo܇ײ{ז簕I<ЃyԶH�� ²0Q|ŀ8{̉ߌ��ތ��ĹӢ'뫈`rFCƪ и
݇adƶf&邾ص��ʨAĜܭ6Iû��h۰X̏0|]#ßX`
佐h
ؼђhD��ࠞӿو$6٠ö3Ԗ J纾T܋����ֹhiҷ`՚~ދk[һʂ ȹ��˖ϳ]wޝ*��ߧ{Z͇9 ؼ����=镩Դ}؏_ɀÏŇq~��aʚɇΜƁ<Ь–.@Ц-䄓Oу˧����5��xNn��ãިӎ~͔3ΐjཫ{RӱKAGڹɴКя宠ٛV곣N;̦'ܤրת#NJ뉸S͕x羟yLj��鍉ѾAfʇш��
š|>Zҝ>��ΒϰIͧݯ��ޚł]+ĜG?t״࠶Ӗ:ͺNJ帷J易剠 nΐ5dŴ>8Dw#+̃ᴩ҅࠺Ɍ��썧JſҞOݗ��Ҹ��皒ܓ/ιsƱƏHe囏&յw߫Ƙ��KſĆҪh˹ȟ/gK��mퟢ���,¶,˶$햮۔Տ?(��ꅿРeǏϓ��ޯCw߁ࠄԮ@ZЃ촮Yr����騊㧖˒ܾ$Ԯܗ��ĢmëСV䠯ʞ롟8м坥ͪǓŒ`‘AȐ̷ʃО
"��Μe‘؏
?GAєʪJ��vaUM ՟��ıēߦࠇ1С"tͨeퟸ�ݲyrݝⷺ��a
切换文件路径
<?php
//$file_name="b.png";
$file_name="乔彬.png";
//如果是中文的。需要转码 php 这个古老的语言仅仅识别中文转换为gb2312
//$file_name=iconv("UTF-8","GB2312",$file_name);//在google浏览器里边试了下,。php 5.4 下边 中文不会乱码---放开直接报错
//$file_name=mb_convert_encoding($file_name,"UTF-8","gb2312");//这个也能转字符编码 但是 就当前这个来说并没有什么卵用
//Notice: iconv(): Detected an illegal character in input string in D:\phpStudy\WWW\087_fileDown.php on line 6 //这个啥意思
$file_path="./image/".$file_name;
//1、打开文件
if(!file_exists($file_path)){
echo "文件不存在";
return;
}
$fp=fopen($file_path,"r");
//获取下载文件的大小
$file_size=filesize($file_path);
//echo "文件的大小是".$file_size;//这个也不能有
//返回的文件
header("Content-type:application/octet-stream");
//按照字节返回
header("Accept-Ranges:bytes");
//返回这个文件大小
header("Accept-Length:$file_size");
//对应客户端弹出的对话框,对应的文件名
header("Content-Disposition:attachment;filename=".$file_name);
//向客户端回传数据
$buffer = 1024;
$file_count = 0;
//用于判断数据读取
while(!feof($fp) && $file_size-$file_count>0){
$file_count+=$buffer;
$file_data = fread($fp,$buffer);
//把部分数据回送给浏览器
//echo $file_count;//输出文件的时候不能有其他的echo 否则实际下载的写入的图片大小会和实际图片大小有出入
echo $file_data;
}
fclose($fp);
?>
代码封装:
<?php
function downFile($file_name,$file_sub_dir){
//$file_name="b.png";
//$file_name="乔彬.png";
//如果是中文的。需要转码 php 这个古老的语言仅仅识别中文转换为gb2312
//$file_name=iconv("UTF-8","GB2312",$file_name);//在google浏览器里边试了下,。php 5.4 下边 中文不会乱码---放开直接报错
//$file_name=mb_convert_encoding($file_name,"UTF-8","gb2312");//这个也能转字符编码 但是 就当前这个来说并没有什么卵用
//Notice: iconv(): Detected an illegal character in input string in D:\phpStudy\WWW\087_fileDown.php on line 6 //这个啥意思
$file_path=/**"./image/"*/$file_sub_dir.$file_name;
//1、打开文件
if(!file_exists($file_path)){
echo "文件不存在";
return;
}
$fp=fopen($file_path,"r");
//获取下载文件的大小
$file_size=filesize($file_path);
//echo "文件的大小是".$file_size;//这个也不能有
//返回的文件
header("Content-type:application/octet-stream");
//按照字节返回
header("Accept-Ranges:bytes");
//返回这个文件大小
header("Accept-Length:$file_size");
//对应客户端弹出的对话框,对应的文件名
header("Content-Disposition:attachment;filename=".$file_name);
//向客户端回传数据
$buffer = 1024;
$file_count = 0;
//用于判断数据读取
while(!feof($fp) && $file_size-$file_count>0){
$file_count+=$buffer;
$file_data = fread($fp,$buffer);
//把部分数据回送给浏览器
//echo $file_count;//输出文件的时候不能有其他的echo 否则实际下载的写入的图片大小会和实际图片大小有出入
echo $file_data;
}
fclose($fp);
}
downFile("乔彬.png","./image/");
?>