Zip zip là gì?
Zip bạn có thể hiểu nó giống như một thùng chứa, bên trong thùng chứa này sẽ chứa tất cả các tệp dưới dạng nén. Điều này vô cùng có lợi khi bạn muốn giảm dung lượng file, làm nhẹ hệ thống, giúp quá trình download, upload file diễn ra nhanh hơn. Tạo tệp zip trong php chính là sử dụng thư viện hỗ trợ của PHP để giúp nén các tệp lại trong thùng chứa zip 1 cách dễ dàng 2. Hướng dẫn tạo tệp zip trong PHPPHP cung cấp 1 thư viện gọi là ZipArchive , nó hỗ trợ lập trình viên có thể tạo tệp zip trong PHP một cách dễ dàng. Để có thể tạo file zip trong php các bạn xem qua một đoạn mã nhỏ thực thi việc tạo file zip như sau Ví dụ 1// Khởi tạo đối tượng ZipArchive $zip = new ZipArchive(); // Dùng zip open để đặt tên cho tên file zip sẽ được tạo ra ví dụ abc.zip, xyz.zip $zip->open('đường_dẫn_file_zip', ZipArchive::CREATE); // Thêm file some-file.pdf vào zip, đồng thời đổi lại thành tên filename.pdf $zip->addFile('some-file.pdf', 'filename.pdf'); // Thêm file another-file.xlsx vào zip, đồng thời đổi lại thành tên filename.xlsx $zip->addFile('another-file.xlxs', 'filename.xlxs'); // Close để hoàn thành tiến trình zip file $zip->close(); Giải thích. Ở đoạn mã trên, đầu tiên chúng ta chỉ đơn giản là khởi động tạo đối tượng ZipArchive để sử dụng tính năng zip của PHP, tiếp theo là đưa các tệp cần nén vào. Kết quả của đoạn mã trên sẽ cho chúng ta một tệp zip chứa các tệp mà chúng ta đã thêm vào Ví dụ 2Cũng tương tự như ví dụ 1, nhưng ở đây mình sẽ viết một chức năng để thuận tiện trong việc xử lý nhiều tệp zip. Xem đoạn mã dưới đây open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { return false; } // Thêm file trong mảng files vào file zip foreach($valid_files as $file) { $zip->addFile($file,$file); } // Đóng tiến trình zip $zip->close(); //check to make sure the file exists return file_exists($destination); } else { return false; } } p/s. Mình đã comment khá kỹ ở đoạn code trên, mong các bạn đọc sẽ hiểu. p. Nếu có thắc mắc thì để lại comment bên dưới hen Cách sử dụng chức năng như sau $files_to_zip = array( 'images/1.jpg', 'images/2.jpg', 'images/5.jpg', 'images/ringo.gif', 'rod.jpg', 'reddit.gif' ); // nếu $result trả về true là zip ok, ngược lại là fail :p $result = create_zip($files_to_zip,'my-archive.zip'); 3. Tổng kếtVới tệp zip 2 đoạn mã đơn giản là bạn có thể sử dụng để giải quyết các vấn đề giảm dung lượng tệp khi tải lên hoặc tải xuống trong trang web ứng dụng của bạn 1 cách tối ưu nhất. Chúc các bạn học tốt Nguồn. võ công. com Hiếu “Cuộc đời chỉ có một, vì thế hãy làm những gì khiến bạn hạnh phúc và ở bên những người khiến bạn luôn mỉm cười”
|