2011-05-31 63 views
0

我需要編寫一個php web服務來輸出文件到Windows客戶端應用程序。我有兩種選擇Byte Array和Streaming。哪一個更好,更容易在PHP中實現?在PHP中,輸出爲字節數組和流。哪一個更好?

感謝您的協助。

+1

Byte Array和Streaming是什麼意思? – ideawu 2011-05-31 04:00:13

+0

我可以將文件發送到客戶端作爲ByteArray或將其流出 – 2011-05-31 09:39:40

回答

0

如何只....

$file = 'some_file.exe'; 

$_size = filesize($_file); 
header('Content-Type: binary/octet-stream'); 
header('Content-Length: '.$_size); 
header('Content-Disposition: attachment; filename="' . basename($file) . '"; size=" . $_size); 

@readfile($file); 

注:參見注釋關於some issues with binary files,但是。

+2

您應該使用['readfile'](http://www.php.net/readfile)而不是'echo'讀取內容。我不認爲這真的是OP所要求的。 – deceze 2011-05-31 04:01:46

+0

@deceze:這很有趣(可能是由於疲勞)我首先想到了'file()'(知道這是不對的)然後去了'file_get_contents()'。 'readfile()'是,你說得對,更合適。然而,我更多的只是表明你會在標題和輸出內容之間進行組合以獲得所需的結果。 – 2011-05-31 04:12:30