2012-04-28 33 views
5

Tôi mới tham gia lập trình, chỉ cần học ở trường, nhưng tôi muốn người dùng tải xuống một số tệp excel từ trang chủ của mình. Mã sau đây không hoạt động, nó chỉ hiển thị nó trong trình duyệt và không bắt buộc phải đối thoại tải xuống.Làm cách nào để bắt buộc tải xuống tệp bằng php?

Làm thế nào tôi có thể giải quyết vấn đề này?

Liên kết phải là: http://myurl.com/download.php?fileid=1 hoặc http://myurl.com/download.php?fileid=2 v.v.

<?php 
switch ($_GET["fileid"]) { 
    case 0: 
     $file = "files/mon.xls"; 
     break; 
    case 1: 
     $file = "files/uru2.xls"; 
     break; 
    case 2: 
     $file = "files/oppo23.xls"; 
     break; 
} 
readfile($file); 

Cảm ơn sự giúp đỡ của bạn!

Trả lời

12

Bạn phải sử dụng tiêu đề. Giống như bạn có thể đọc trên php manual, nó cho tập tin của bạn:

<?php 
header('Content-type: application/xls'); 
header('Content-Disposition: attachment; filename="downloaded.xls"'); 
readfile($file); 
5

Có một số cách để làm điều này nhưng cách đơn giản nhất mà tôi đã tìm thấy là chỉ cần sử dụng tiêu đề. Bạn có thể làm một cái gì đó như thế này.

header('Location: files/oppo23.xls'); 
Các vấn đề liên quan