Hướng dẫn how can i download file from php code? - Làm cách nào để tải xuống tệp từ mã php?

Nói chung, không có tập lệnh PHP nào được yêu cầu để tải xuống một tệp với các tiện ích mở rộng EXE và ZIP. Nếu vị trí tệp của loại tệp này được đặt trong thuộc tính href của phần tử neo, thì tệp sẽ tự động tải xuống khi người dùng nhấp vào liên kết tải xuống. Một số tệp, chẳng hạn như tệp hình ảnh, tệp PDF, tệp văn bản, tệp CSV, v.v., không tự động tải xuống và thay vào đó, mở trong trình duyệt khi người dùng nhấp vào liên kết tải xuống. Các tệp này có thể được tải xuống cưỡng bức trong PHP bằng cách sử dụng hàm readfile [] không tự động tải xuống. Hướng dẫn này chỉ cho bạn cách buộc tải xuống bất kỳ tệp nào bằng tập lệnh PHP.exe and zip. If the file location of this type of file is set in the href attribute of the anchor element, then the file automatically downloads when the user clicks on the download link. Some files, such as image files, PDF files, text files, CSV files, etc., do not download automatically, and instead, open in the browser when the user clicks on the download link. These files can be downloaded forcibly in PHP using the readfile[] function that does not download automatically. This tutorial shows you how to forcibly download any file using PHP script.

Kiểm tra liên kết tải xuống

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 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 các tệp văn bản, zip, pdf và jpg.zip and exe files download automatically, without using PHP script. First, create an HTML file with the following code. Here, the four anchor elements are defined to download the four types of files. These file types include TEXT, ZIP, PDF, and JPG files.

Download.html

Tải xuống tệp tải xuống văn bản FileDownload Zip FileDownload PDF FileDownload Tệp JPGhtml>

Download Files


Download TEXT file
Download ZIP file
Download PDF file
Download JPG file

Xuất 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ữ.
The following dialog box will appear to download the file after clicking the zip file link. The user can then download the file or open the file in the archive manager.


Nếu bạn nhấp vào tệp hình ảnh, hình ảnh sẽ được mở tự động trong trình duyệt, như được hiển thị 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ộ. Theo cách tương tự, khi bạn nhấp vào liên kết tệp PDF và TEXT, nội dung của tệp sẽ được mở trong trình duyệt mà không tải xuống tệp. Giải pháp cho vấn đề này là tải xuống tệp sử dụng hàm pHP readFile [] tích hợp.readfile[] function.

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

Hàm readFile [] được sử dụng trong tập lệnh PHP để tải xuống bất kỳ tệp nào của vị trí hiện tại hoặc tệp có đường dẫn tệp. Cú pháp của hàm này được đưa ra dưới đây.readfile[] function is used in PHP script to forcibly download any file of the current location, or the file with the file path. The syntax of this function is given below.

Cú pháp int readfile [Chuỗi $ fileName [, bool $ use_include_path = false [, tài nguyên $ bối cảnh]]]]
int readfile [ string $filename [, bool $use_include_path = false [, resource $context ]] ]

Hàm này có thể lấy ba đối số. Đối số đầu tiên là bắt buộc, và hai đối số khác 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 true nếu tên tệp có đường dẫn được sử dụng trong đối số đầu tiên. Đối số thứ ba, $ bối cảnh, được sử dụng để chỉ ra tài nguyên luồng ngữ cảnh. Hàm này trả về số lượng byte được đọ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.$filename, stores the filename or filename with the path that will download. The default value of the second parameter, $use_include_path, is false and will be set to true if the filename with the path is used in the first argument. The third argument, $context, is used to indicate the context stream resource. This function returns the number of bytes read from the file mentioned in the first argument. The uses of this function are shown in the following two examples.

Ví dụ 1: Tải xuống tệp với 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 truyền dưới dạng tham số của đường dẫn URL có tên và giá trị của tham số này sẽ được chuyển đến tệp PHP có tên Download.php.path, and the value of this parameter will be passed to the PHP file named download.php.

download2.html

Tải xuống tệp tải xuống tệp văn bản Tải xuống tệp zip tải xuống tệp pdf tải xuống tệp jpghtml>

Download Files


Download TEXT file
Download ZIP file
Download PDF file
Download JPG file

Chúng tôi sẽ tạo tệp PHP với mã sau để tải xuống tệp. Ở đây, hàm isset [] được sử dụng để kiểm tra xem $ _get [‘đường dẫn] 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ủ hay không. Tiếp theo, hàm tiêu đề [] được sử dụng để đặt thông tin tiêu đề 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 trong 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, ở đây.isset[] function is used to check whether the $_GET[‘path’] is defined. If the variable is defined, the file_exists[] function is used to check whether the file exists in the server. Next, the header[] function is used to set the necessary header information before using the readfile[] function. The basename[] function is used to retrieve the filename, and the filesize[] function is used to read the size of the file in bytes, which will be shown in the opening dialog box to download the file. The flush[] function is used to clear the output buffer. The readfile[] function is used with the filename only, here.

download.php

Đầu ra đầu ra sau sẽ xuất hiện sau khi nhấp vào liên kết tải xuống của tệp hình ảnh. Kích thước tệp của hình ảnh Rose.jpg là 27,2 kb, như thể hiện trong hộp thoại. Bạn có thể tải xuống tệp bằng cách chọn nút Save File Radio và nhấn nút OK.
The following output will appear after clicking the download link of the image file. The file size of the rose.jpg image is 27.2 KB, as shown in the dialog box. You can download the file by selecting the Save File radio button and pressing the OK button.

Ví dụ 2: Tải xuống tệp với đường dẫn tệp

Nếu tệp tồn tại tại vị trí tệp đã cho, đường dẫn tệp sẽ được yêu cầu đề cập trong URL. Trong ví dụ này, chúng tôi sẽ tạo một tệp HTML với mã sau, sẽ truyền tên tệp với đường dẫn tệp:

download3.html

Tải xuống tệp tải xuống tệp pdf filedown tải tệp jpghtml>

Download Files


Download PDF file
Download JPG file

Chúng tôi sẽ tạo một tệp PHP với mã sau để tải xuống một tệp từ đường dẫn tệp. Mã PHP trong ví dụ trước sẽ được sửa đổi một chút để tải xuống tệp từ đường dẫn đã cho. Hàm ClearStateCache [] được sử dụng để xóa bộ đệm được lưu trữ trước đó. Hai đối số được sử dụng trong hàm readfile [].clearstatecache[] function is used to clear the cache that was previously stored. Two arguments are used in the readfile[] function.

download2.php

Bài Viết Liên Quan

Chủ Đề