2012-04-23 26 views
5

Tôi đang tìm cách buộc tải xuống tệp từ nguồn bên ngoài bằng cách sử dụng tiêu đề PHP. Tuy nhiên, loại tệp có thể là ANYTHING. Tôi làm cách nào để tải xuống tất cả các loại tệp?Tải xuống tệp lực của loại tệp không xác định với PHP

Tôi hy vọng bạn có thể hiểu câu hỏi của tôi và những gì tôi đang cố gắng mô tả.

+3

Buộc tất cả các tải có vẻ như một ý tưởng tồi đối với tôi ... – Jon

+0

Nhìn vào tài liệu PHP cho 'readfile()', cụ thể đặt tiêu đề thành octet-stream. –

+0

đồng ý với @Jon, đó là quyết định UX tồi. bạn có chắc chắn 100% người dùng muốn tải xuống tệp không? bạn có chắc chắn 100% họ muốn lưu nó trong thư mục tải xuống mặc định của họ không, với tên mặc định? IFF bạn có thể nói có với những điều này, sau đó tiến hành. – Jeff

Trả lời

6

Bạn có nghĩa là tiêu đề HTTP và bạn đang tìm kiếm RFC 2616, http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html "Bố cục nội dung".

Gửi các tiêu đề sau để buộc một download tất cả các file và các loại:

header('Content-Disposition: attachment; filename="name.ext"'); 
header('Content-Type: application/octet-stream'); // or application/force-download 

echo $the_file_content; 
exit; 
+0

Nếu bạn có nghĩa là kiểu MIME, 'application/octet-stream'. – freeone3000

+3

Ồ, nó cụ thể. Nó tuyên bố rằng tệp của bạn chứa byte. Nếu tệp của bạn không bao gồm byte, bạn sẽ phải tìm một thứ khác. – freeone3000

+0

Chỉ có đa số? – Johnnyoh

Các vấn đề liên quan