Tải xuống thư mục trong PHP
Thông thường, có thể sử dụng siêu liên kết để mở tệp trên trình duyệt. Trong trường hợp như vậy, tệp có thể tải xuống từ trình duyệt theo cách thủ công. Nếu bạn muốn tải xuống tệp động và tự động lưu tệp trên ổ đĩa cục bộ, hãy buộc trình duyệt tải xuống tệp thay vì hiển thị tệp. Chức năng buộc tải xuống tệp cho phép người dùng tải xuống các tệp bằng PHP trong đó các tệp được yêu cầu được tải xuống mạnh mẽ mà không hiển thị trên trình duyệt. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách tải xuống tệp từ thư mục hoặc máy chủ trong PHP Show
Sử dụng hàm // Define file name and path Tải xuống tệp thông qua liên kết neoTrong ứng dụng web, bạn cần cung cấp một siêu liên kết để cho phép người dùng tải xuống các tệp từ máy chủ một cách linh hoạt. Sử dụng mã mẫu bên dưới để hiển thị liên kết HTML để tải xuống tệp từ thư mục bằng PHP. Download File Mã PHP (tải xuống. php)
Buộc tải xuống tệp từ máy chủ từ xa trong PHP Bạn có muốn nhận trợ giúp triển khai hay sửa đổi hoặc nâng cao chức năng của tập lệnh này khô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 đ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 ra 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 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ệpTrong 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 > 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 if(isset();tiêu đề();tiêu đề( . không có bộ đệm, phải xác thực lại");tiêu đề();tiêu đề(tên cơ sở($filename). '"');tiêu đề. kích thước tệp($filename) . public');//Xóa bộ đệm đầu ra của hệ thốngxóa;}}khác . "?> Đầu ra ví dụ 2. Tải xuống tệp có đường dẫn tệpNếu tệp tồn tại ở vị trí tệp nhất định, đườ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, mã này sẽ chuyển tên tệp bằng đường dẫn tệp tải3. html < html > Chúng tôi sẽ tạo một tệp PHP với mã sau để tải xuống 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ộ nhớ cache đã được lưu trữ trước đó. Hai đối số được sử dụng trong hàm readfile() tải về2. php if(isset();tiêu đề();tiêu đề( . tập tin đính kèm; . tên cơ sở($url). '"');tiêu đề. kích thước tệp($url) . public');//Xóa bộ đệm đầu ra của hệ thốngxóa;}}tiếng vọng . "?> Đầu ra Video hướng dẫnPhần kết luậnBài viết này cung cấp một cách đơn giản để buộc tải xuống bất kỳ tệp nào bằng tập lệnh PHP, để giúp người đọc thêm tính năng tải xuống trong tập lệnh của họ Làm cách nào để tải xuống một thư mục trong PHP?Tải về. php.
Làm cách nào để lấy đường dẫn của thư mục tải xuống trong PHP?$mypath = '/path-to-my-files-folder/'. $_GET['file'];
Làm cách nào để tạo một tệp có thể tải xuống trong PHP?PHP cho phép bạn tải xuống tệp dễ dàng bằng hàm readfile() tích hợp. Hàm readfile() đọc một tệp và ghi nó vào bộ đệm đầu ra. . tiêu đề ('Loại nội dung. ứng dụng/octet-stream'); tiêu đề ("Mã hóa chuyển nội dung. utf-8"); Làm cách nào để TẠO và tải xuống thư mục zip trong PHP?Cách tạo tệp lưu trữ zip . Tạo một thể hiện lớp ZipArchive PHP Mở kho lưu trữ tệp zip với ví dụ. Nó chấp nhận tên tệp zip đầu ra và chế độ mở kho lưu trữ Áp dụng phân tích cú pháp đệ quy trong thư mục đầu vào Nếu thư mục bao gồm một tệp, thì nó sẽ thêm vào kho lưu trữ zip bằng cách sử dụng addFile() |