Tải xuống nhiều tệp dưới dạng tệp zip bằng php

Trong Hướng dẫn PHP này, tôi sẽ cho bạn biết cách tạo tệp zip bằng cách sử dụng lớp ZIP "ZipArchive" của PHP

Bạn có thể sử dụng ví dụ này để tải xuống nhiều tệp cùng lúc bằng cách tạo tệp zip, bạn chỉ cần thêm các tệp tải xuống trong tệp zip với sự trợ giúp của lớp ZIP của PHP

Trong ví dụ này, tôi sẽ sử dụng phương thức open[] để mở hoặc tạo bất kỳ tệp zip nào và phương thức addFile[] được sử dụng để thêm tệp vào kho lưu trữ từ đường dẫn đã cho và phương thức close[] được sử dụng để đóng tệp zip một cách an toàn

Thí dụ


Bạn phải đặt tiêu đề chính xác để buộc tải xuống. Bạn có thể truyền mảng tệp trong hàm createZipArchive[]

Tập lệnh này sẽ nén nhiều tệp và  buộc tải xuống tệp zip đã tạo. Chức năng này yêu cầu kích hoạt Lưu trữ Zip trong máy chủ của bạn.
function zipFilesDownload[$file_names,$archive_file_name,$file_path]{
$zip = new ZipArchive[];
if [$zip->open[$archive_file_name, ZIPARCHIVE::CREATE ]!==TRUE] {
exit["cannot open \n"];
}
foreach[$file_names as $files]{
$zip->addFile[$file_path.$files,$files];
}
$zip->close[];

header["Content-type: application/zip"];
header["Content-Disposition: attachment; filename=$archive_file_name"];
header["Pragma: no-cache"];
header["Expires: 0"];
readfile["$archive_file_name"];
exit;
}

$fileNames=array['files/file1.docx','files/file1.pdf'];
$zip_file_name='myFile.zip';
$file_path=dirname[__FILE__].'/';
zipFilesDownload[$fileNames,$zip_file_name,$file_path];
?>


Cũng kiểm tra

Giải nén tập tin trong máy chủ Web


Tải tập tin

Tổng số lượt tải xuống. 4303

Tệp zip chắc chắn là định dạng tệp phổ biến trên các nền tảng. Chúng ta nên được trang bị tốt để xử lý nó theo chương trình. Chúng ta sẽ xem về cách tạo một tệp zip gồm nhiều tệp bằng PHP cho trường hợp sử dụng tải lên nhiều tệp

Chúng tôi sẽ có một biểu mẫu HTML để tạo điều kiện tải lên nhiều tệp. Sau đó, khi tải lên thành công, các tệp đó sẽ được nén thành một tệp duy nhất bằng PHP. Hãy để chúng tôi đi bộ qua nó

Để tải lên nhiều tệp, biểu mẫu HTML phải chứa một loạt các trường nhập tệp. Trước đây, chúng ta đã thấy nhiều ví dụ PHP để tải tệp lên

Click here to download the zip file

Choose File

Tạo zip bằng cách sử dụng PHP ZipArchive

ZipArchive là lớp PHP được sử dụng để làm việc với các tệp zip. Đảm bảo tiện ích mở rộng zip được bật trong cài đặt PHP của bạn

Trong mã PHP bên dưới, đối tượng ZipArchive được tạo và sử dụng để gọi các phương thức tạo tệp zip

Sau khi tạo tệp zip, các tệp do người dùng tải lên sẽ được chuyển đến kho lưu trữ zip. Trong mã này, các tệp đã tải lên cũng được chuyển đến thư mục đích theo chỉ định

Trước đây, chúng ta đã thấy cách tải tệp lên thư mục đích bằng PHP. Hàm PHP move_uploaded_file[$filename, $destination] được sử dụng để thực hiện việc này. Nó yêu cầu tên của tệp được tải lên và đường dẫn đích

Sau khi tệp zip đầu ra được tạo cùng với các tệp đã tải lên, phiên bản zip sẽ bị hủy bằng cách gọi phương thức đóng ZipArchive. Sau đó, đường dẫn nguồn tệp zip đã tạo được gửi dưới dạng phản hồi

Nếu không có tệp nào được chọn thì thông báo lỗi xác thực phía máy chủ sẽ được trả về. Phản hồi lỗi và thành công được sử dụng để hiển thị xác nhận phù hợp cho người dùng

open[$zip_name, ZipArchive::CREATE] !== TRUE] {
            $error .= "Sorry ZIP creation is not working currently.
"; } $imageCount = count[$_FILES['img']['name']]; for[$i=0;$iaddFromString[$_FILES['img']['name'][$i], file_get_contents[$_FILES['img']['tmp_name'][$i]]]; // moving files to the target folder. move_uploaded_file[$_FILES['img']['tmp_name'][$i], './uploads/' . $newname]; } $zip->close[]; // Create HTML Link option to download zip $success = basename[$zip_name]; } else { $error = 'Error!! Please select a file.'; } }

Tạo tệp Zip của nhiều tệp đã tải lên Đầu ra ví dụ PHP

Ảnh chụp màn hình bên dưới cho thấy phản hồi thành công và thất bại của ví dụ PHP này. Trong phản hồi thành công, nó sẽ hiển thị thông báo văn bản với tùy chọn tải xuống tệp zip đã tạo

Sự kết luận

Mã đơn giản này để tạo tệp zip bằng PHP sẽ hữu ích cho bạn khi phát triển ứng dụng web bao gồm yêu cầu này. Xử lý tệp trong PHP được hỗ trợ rất nhiều bởi các hàm và lớp dựng sẵn có sẵn trong lõi của nó

Thật đơn giản và dễ dàng với các lớp lõi PHP

Chúng tôi đã thấy các tình huống có thể xảy ra trong đó ví dụ tạo zip với nhiều tệp được tải lên sẽ hữu ích. Điều này có thể tạo ra một tia sáng cho các nhà phát triển web đang tìm kiếm giải pháp trong các tình huống như vậy

Với giao diện Bootstrap, giao diện người dùng có đơn vị thành phần kết hợp để chọn tệp, tải lên và tải xuống đầu ra zip. Nếu bạn muốn làm cho nó đơn giản, bạn có thể tách thư viện Bootstrap khỏi ví dụ và sử dụng khung để làm cho nó phù hợp với ứng dụng của bạn

Hy vọng bài viết này sẽ hữu ích cho các bạn độc giả, những người đang làm cho ngày của tôi luôn luôn. Vui lòng chia sẻ nhận xét của bạn, cách tiếp cận thay thế trên mã của tôi

Làm cách nào tôi có thể tải xuống nhiều tệp zip trong PHP?

Có gì bên trong? .
Công dụng của việc nén các tệp đã tải lên thành zip
Các thư viện hiện có để tạo zip của nhiều tệp
Giới thiệu về plugin ZipArchive
Triển khai mã để tạo tệp zip của nhiều tệp được tải lên
Cấu trúc tệp
HTML với tùy chọn tải lên tệp và tải xuống zip
Tạo zip bằng cách sử dụng PHP ZipArchive

Làm cách nào để tải xuống tất cả các tệp từ thư mục trong PHP?

php $name= $_GET['nama']; . Chuyển tập tin']; . ứng dụng/octet-stream']; . tập tin đính kèm;

Chủ Đề