Dalam PHP, keluaran sebagai array byte dan aliran. Mana yang lebih baik?

saya perlu menulis layanan web php untuk mengeluarkan file ke aplikasi klien Windows. Saya punya dua pilihan Byte Array dan Streaming. Mana yang lebih baik dan mudah diimplementasikan di PHP?

Terima kasih atas bantuan Anda.


person jack 101    schedule 31.05.2011    source sumber
comment
apa yang dimaksud dengan Byte Array dan Streaming?   -  person ideawu    schedule 31.05.2011
comment
Saya dapat mengirimkan file ke klien sebagai ByteArray atau mengalirkannya   -  person jack 101    schedule 31.05.2011


Jawaban (1)


Bagaimana kalau....

$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);

Catatan: lihat komentar tentang beberapa masalah dengan file biner, namun.

person Brad Christie    schedule 31.05.2011
comment
Anda harus menggunakan readfile daripada echoing konten yang sudah dibaca. Saya rasa ini bukan yang diminta OP. - person deceze♦; 31.05.2011
comment
@deceze: Lucu (dan mungkin karena kelelahan) Saya berpikir file() dulu (tahu itu tidak benar) lalu pergi ke file_get_contents(). readfile() adalah, Anda benar, semakin cocok. Namun, saya lebih hanya menunjukkan bahwa Anda akan melakukan kombinasi antara header dan output konten untuk mendapatkan hasil yang diinginkan. - person Brad Christie; 31.05.2011