繁体   English   中英

PHP将字节数组转换为文件下载

[英]PHP Convert Byte Array to File Download

我从第三方来源收到PDF字节数组。 我需要进行转换,以便将文件下载到用户。 我已经实现了下面的代码,并且确实发生了下载,但这只是一个空白文件。

如果我回显$ fileToDownload的内容,那是正确的(以%PDF-开头,等等)并且数据在那里。 不知道我在做什么错。 先感谢您!

//GET CONTENT
$fileToDownload = $file->DownloadSignedDocumentResult;

//START DOWNLOAD
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($fileToDownload));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: '.filesize($fileToDownload));
ob_clean();
flush();
readfile($fileToDownload);
exit;

echo $ fileToDownload的内容

(此文件包含敏感信息,因此我只粘贴文件开头的一小段-希望对您有所帮助):

%PDF-1.4% 2 0 obj <>流Dx a/ s, v “ Z DƸ 1N W d A9。 > .ˍ u Ҭ F ;. 0ҷ B; s&ݩ%。] GP @Xb I 䃶 8I ۪IJ cR !&QQZG“ u7 Z uY{^ [} - E.R. r u <。 8b a 9 ㅅ )1 IJ / zb vD VN vD | ȓ A 0 Ͻ o* m Z gz oH \\ V*; \\ Ӌ =9 y c fT O Kr'' Ԁ | m' % !! @ F | A j )9 g'' ^ m。 Al 1 Bn C9ύp o{ ] k x 5^ y֡|щ / qقu ) F n ^ɞQ 6 Pc\\e ۲] 8f ' C[\\v U= f uIc e ! 4^ ϻHCy I Gv(% .I> T d! l ׊R} B6k = C# W.< c 7 U BI ! G { 꾼L 2 q I Q ;; P* z n d尌(D aύ 7 g e 2 f $ q * ~+ H;R t Ofz ~|( Jl l4 q : w6.Z ql݋ Њ+ hO Ɔ }< pEs? 4З h 07 . ? s F. = Z Rz 9O Hp 2 FR nwH {L ^ɞQ 6 Pc\\e ۲] 8f ' C[\\v U= f uIc e ! 4^ ϻHCy I Gv(% .I> T d! l ׊R} B6k = C# W.< c 7 U BI ! G { 꾼L 2 q I Q ;; P* z n d尌(D aύ 7 g e 2 f $ q * ~+ H;R t Ofz ~|( Jl l4 q : w6.Z ql݋ Њ+ hO Ɔ }< pEs? 4З h 07 . ? s F. = Z Rz 9O Hp 2 FR nwH {L kA l { f u g p @ ;; 〜 G> $pYJ< Es [ 3J4= /i T) ( U r Jn I } g a t Ufw+ | k pu #Oy J y \\cOu 0[Y l~W| '3- . 0 AW * | z l e t8іDZ Mh4dvS *j nHn * 8w ~_ % S j7 xM l t YD@ K ( ! * P [ U ( @ z1S c .9& 4 v j [} F %} XS X6 㕣 X lV < M> C(ڼo t; i *ʸ-ua a$ : ȶ } Mz ׻ &H4 & '[ o l C | ēM c 'm$ )S )+ ̤ f>T0 x ] w?w% +˦ , ] $pYJ< Es [ 3J4= /i T) ( U r Jn I } g a t Ufw+ | k pu #Oy J y \\cOu 0[Y l~W| '3- . 0 AW * | z l e t8іDZ Mh4dvS *j nHn * 8w ~_ % S j7 xM l t YD@ K ( ! * P [ U ( @ z1S c .9& 4 v j [} F %} XS X6 㕣 X lV < M> C(ڼo t; i *ʸ-ua a$ : ȶ } Mz ׻ &H4 & '[ o l C | ēM c 'm$ )S )+ ̤ f>T0 x ] w?w% +˦ , ] F aڲ : b 3f D@ Kg kL 5V Ei^c G_I H5)$ Ap, : UӧR J8〜 |Ev cUt= iJ} * j MOB\\ m c 〜Q:〜 1 Ev z H# H F+:G}复制 f d f< > $ N m ; .s] /S R 3 + ' 1{ 6 = g - v |> x V m ''。`` QC..Al。 :r? |2 u Ħё|?^ ,u]48 ֫ &T〜2 x'5 ᫏{ 8ϋ WH sd2 1 n l Ed T T' Qm ''Y3ԾiZ 9 / G!$ Mj ) m{ R4_k7 c a "mq~N2b rí % ῔ 4 0 +y 㳯̇O ! . F \\qZ0 fSZ Α ֩ " ڐYNJ { {W 4ԝC rg / -(C < O@ oS ,k ǡ * PXz o %PfO0 @ l t oyw a@( A ! OK o ½q 8 DZ Y X E 5 8ê [5 Ƌ M ) t~ w h P ? w kĵ ]'' *gV n B 4iw- 29 6 } Se ;v m F [|ӥ x ؋U $>M a vij ܌ v 〜]ocf < L 䍞 J#( nik。ث R u “.N 1 }.y.T S r + b (9{7 x ux ݚ} 6 C =޻ v X g ;9t b_ l am ODQ | , o禗 @ hkuݑ t d ڐ F ~*vh2 [ ՞=$X pqH _ 7Ƒ & O gǹ I ]F}[%K 0 YN Y } $ ˱ i ~ Jk * c+{ Ђ ͉ v u 9R $ a \\; N 쮴Tո 7 SMG| Î y U ]]'Z ,MB H g@ & rc E0 i үmy ONt )( ) I D ;_ ŭ N Ks<( !hE_ 0" ;U {e2C X + #|D " _# ] Xu 6,Z 2 wNy (0 z 4 ;pn < zw b (9{7 x ux ݚ} 6 C =޻ v X g ;9t b_ l am ODQ | , o禗 @ hkuݑ t d ڐ F ~*vh2 [ ՞=$X pqH _ 7Ƒ & O gǹ I ]F}[%K 0 YN Y } $ ˱ i ~ Jk * c+{ Ђ ͉ v u 9R $ a \\; N 쮴Tո 7 SMG| Î y U ]]'Z ,MB H g@ & rc E0 i үmy ONt )( ) I D ;_ ŭ N Ks<( !hE_ 0" ;U {e2C X + #|D " _# ] Xu 6,Z 2 wNy (0 z 4 ;pn < zw zwpD 1Clh f !Q C6 1G ' P ''( : F | aYhhwL o G tqQ ,Hr。%( Z J >ŘŢz ujj#kг zcl{{xruJn 6 v H7v ocr。 r L %? -&[rƢyF蒦O v a է Y Z @ n? i f>Fh B w }( u zm ~} ! & n ] - h9 na bi wS qn#8 Y~ b= 441_ 'c ʠ= b wTj2 N*MO $ }8["ƫg 6} E 3 , KE _ e dj O3 n 7u] < m _ Y Z @ n? i f>Fh B w }( u zm ~} ! & n ] - h9 na bi wS qn#8 Y~ b= 441_ 'c ʠ= b wTj2 N*MO $ }8["ƫg 6} E 3 , KE _ e dj O3 n 7u] < m _ m _ a . &W '8 _ b GI| \\92c V [ * QQ{{ a@Ğ ك Ѧ j UtSS ۝FM。 F0CL r uShvI + ZCN $&@ LH(naKff endstream endobj 6 0 OBJ <> endobj 7 0 OBJ <> endobj 8 0 OBJ <> endobj 9 0 OBJ <> endobj 10 0 OBJ /创建者<1408C602> /关键字<> /创建ModDate <075D8656FF7B0721B23ACA5714F625E800F1D85A3259B0> /生产<0E06D746811B1741A233CB4F1FE822FD7CB48D0F7613B7E5483D7D79CCF00F2321> /标题<0E0ED714A13B587FF622AC0E55A236F00D8289116D39F6CC2C2B7A5082C2052938040A6AC8D9 >>> endobj 12 0 obj <> endobj 13 0 obj <> endobj 32 0 obj <>流__Q Q "[ - c ozĖn¹# b\\ ו Sn i cv WS WXi hc4ŋ ҳ 3 /S(& a + 9 J = u ^N|4 ]F eBa]a /M uL N WK dg Z ^8gH zEtqhB o< ӣd 6 _ B| XӑH^ q 7 ަ( } h AN Q "[ - c ozĖn¹# b\\ ו Sn i cv WS WXi hc4ŋ ҳ 3 /S(& a + 9 J = u ^N|4 ]F eBa]a /M uL N WK dg Z ^8gH zEtqhB o< ӣd 6 _ B| XӑH^ q 7 ަ( } h AN ] O <WP = 77 * [= { - K |?升- tiÞP r鍪4 [ p b- 8բ。weZ1k -{)i = *l K 〜 <. 8_ h + x>流 / ă 3쫩0j| KQ 9D~ 0ʛdP *sa ^ ! j b|μ V ? # F G j D [ lE @W+ȗ +4 >$ " ?< _. 7K j4 <6 + + Y h G ' = C v >V Q i d = |@ m 99#{ ߾Q2 ^GL X w6 T( 'y K Μ7U * + NI1 0 z # Wn i ̫ " IS ԅ4 | \\T )/] %m b A u V p. pD,z ߯u O k .r} ʚ n U ^ " ƙXv WTd 戽v ^[~6Lj w%X 8 2 s ڜؐ vZ 7ga j "O v= i8N^ r O> M uC 0W S @^ 3 ]: t#Pj ϳ * > stream r V[tg u B 0 l % ቚ XM . 0 Y y Rt. z[ Ή˨tnWUOH B ' " ޻ }SI !Ǿ 7 ~OVK Cv ѫ y l #y $h y CJ kq rϴ $mCg+ + ' Сv 2 ԁ N ?< V 58 % . ᕎЁ ( u i!Չ fe | eq <^9 ՙѩ'y jϦ͏?g D Sb rli q < \\ k / ă 3쫩0j| KQ 9D~ 0ʛdP *sa ^ ! j b|μ V ? # F G j D [ lE @W+ȗ +4 >$ " ?< _. 7K j4 <6 + + Y h G ' = C v >V Q i d = |@ m 99#{ ߾Q2 ^GL X w6 T( 'y K Μ7U * + NI1 0 z # Wn i ̫ " IS ԅ4 | \\T )/] %m b A u V p. pD,z ߯u O k .r} ʚ n U ^ " ƙXv WTd 戽v ^[~6Lj w%X 8 2 s ڜؐ vZ 7ga j "O v= i8N^ r O> M uC 0W S @^ 3 ]: t#Pj ϳ * > stream r V[tg u B 0 l % ቚ XM . 0 Y y Rt. z[ Ή˨tnWUOH B ' " ޻ }SI !Ǿ 7 ~OVK Cv ѫ y l #y $h y CJ kq rϴ $mCg+ + ' Сv 2 ԁ N ?< V 58 % . ᕎЁ ( u i!Չ fe | eq <^9 ՙѩ'y jϦ͏?g D Sb rli q < \\ k L [J @ k ܥ# s.ͅ p。!ZO.I { A A /t al'''' GW > + c - V i 6IW -\\R ֨ l 4 f 〜 ' FuA ԁ3 ; h ^ \\˴L- + E G(?s y |qq͟L #] J [p |Z q[ G A ; \\ 3Y c vc tk K a trm(ˆ F ĝRנ D 6 efQ 3t Wn y* j〜 P vkt 6'' 1 a׆vX ?= mv 7, / J +。 E / N UyMk k2 / A e ''C, RG Ӑ JU JH ]Q endstream endobj 35 0 obj <>

据我了解,$ fileToDownload包含PDF的二进制数据,因此您应该

echo $fileToDownload;

并更改:

header('Content-Length: '. strlen($fileToDownload));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM