Làm cách nào để tải xuống PHP

Trước đây đã đề cập rằng các tệp zip và exe tự động tải xuống mà không cần sử dụng tập lệnh PHP. Đầu tiên, tạo một tệp HTML với đoạn mã sau. Ở đây, bốn phần tử neo được xác định để tải xuống bốn loại tệp. Các loại tệp này bao gồm tệp TEXT, ZIP, PDF và JPG

Tải xuống. html

< html >
< đầu>
Download Files


Tải xuống tệp TEXT < /a>
Tải xuống tệp ZIP < /a>
Tải xuống tệp PDF < /a>
Tải xuống tệp JPG < /a>

Đầu ra
Hộp thoại sau sẽ xuất hiện để tải xuống tệp sau khi nhấp vào liên kết tệp zip. Sau đó, người dùng có thể tải xuống tệp hoặc mở tệp trong trình quản lý lưu trữ.


Nếu bạn nhấp vào tệp hình ảnh, hình ảnh sẽ tự động được mở trong trình duyệt, như thể hiện trong đầu ra sau. Bạn phải lưu tệp để tạo một bản sao của tệp hình ảnh trong ổ đĩa cục bộ. Tương tự, khi click vào link file PDF, TEXT, nội dung file sẽ được mở trên trình duyệt mà không cần download file. Giải pháp cho vấn đề này là buộc phải tải xuống tệp bằng cách sử dụng hàm readfile[] tích hợp trong PHP

Tải xuống tệp bằng hàm readfile[]

Hàm readfile[] được sử dụng trong tập lệnh PHP để buộc tải xuống bất kỳ tệp nào ở vị trí hiện tại hoặc tệp có đường dẫn tệp. Cú pháp của chức năng này được đưa ra dưới đây

Cú pháp
int readfile [ string $filename [, bool $use_include_path = false [, resource $context ]] ]

Hàm này có thể nhận ba đối số. Đối số đầu tiên là bắt buộc và hai đối số còn lại là tùy chọn. Đối số đầu tiên, $filename, lưu trữ tên tệp hoặc tên tệp với đường dẫn sẽ tải xuống. Giá trị mặc định của tham số thứ hai, $use_include_path, là sai và sẽ được đặt thành đúng nếu tên tệp có đường dẫn được sử dụng trong đối số đầu tiên. Đối số thứ ba, $context, được sử dụng để biểu thị tài nguyên luồng ngữ cảnh. Hàm này trả về số byte đã đọc từ tệp được đề cập trong đối số đầu tiên. Việc sử dụng chức năng này được hiển thị trong hai ví dụ sau

ví dụ 1. Tải xuống tệp có tên tệp

Trong ví dụ này, chúng tôi sẽ tạo một tệp HTML với mã sau, trong đó tên tệp sẽ được chuyển dưới dạng tham số của đường dẫn có tên URL và giá trị của tham số này sẽ được chuyển đến tệp PHP có tên tải xuống. php

tải về2. html

< html >
< đầu>
Download Files


Tải xuống TEXT tệp< /a>
Tải xuống tệp ZIP< /a >< /p>
Tải xuống tệp PDF< /a >< /p>
Tải xuống tệp JPG< /a >< /p>

Chúng tôi sẽ tạo tệp PHP với mã sau đây để tải xuống tệp cưỡng bức. Ở đây, hàm isset[] được sử dụng để kiểm tra xem $_GET[‘path’] có được xác định hay không. Nếu biến được xác định, hàm file_exists[] được sử dụng để kiểm tra xem tệp có tồn tại trong máy chủ không. Tiếp theo, hàm header[] dùng để thiết lập các thông tin header cần thiết trước khi sử dụng hàm readfile[]. Hàm basename[] được sử dụng để truy xuất tên tệp và hàm filesize[] được sử dụng để đọc kích thước của tệp theo byte, sẽ được hiển thị trong hộp thoại mở để tải xuống tệp. Hàm flush[] được sử dụng để xóa bộ đệm đầu ra. Hàm readfile[] chỉ được sử dụng với tên tệp, tại đây

Tải xuống. php

Chủ Đề