Tạo thư mục zip và tải xuống trong PHP

Nếu bạn đang cố tải xuống nhiều tệp cùng lúc và tải xuống từng tệp một, thì có một tùy chọn tốt hơn là tạo tệp zip, thêm tệp tải xuống trong zip và tải xuống tệp zip. Sử dụng PHP, điều này rất dễ dàng. Lớp PHP

$dir = plugin_dir_path( __FILE__ );
	$zip_file = $dir . '/filename.zip';
1 cung cấp tất cả các chức năng để tạo một tệp zip có nhiều tệp. Bạn cần PHP5. 2. 0 và cao hơn cho lớp đó

Tạo Tệp Zip

  • Điều đầu tiên bạn phải sửa đường dẫn và tên cho tệp zip. Tệp zip sẽ tạo ở vị trí đó với tên, vì vậy hãy chọn một vị trí phù hợp trong thư mục dự án của bạn

    $zip_file = '(path_of_the_zip)/filename.zip';
    Nếu bạn đang làm việc trên plugin tùy chỉnh của WordPress, thì hãy chọn đường dẫn trong thư mục plugin tùy chỉnh của bạn

    $dir = plugin_dir_path( __FILE__ );
    	$zip_file = $dir . '/filename.zip';
  • Bây giờ hãy tạo Lưu trữ Zip và mở tệp zip. Nếu
    $dir = plugin_dir_path( __FILE__ );
    	$zip_file = $dir . '/filename.zip';
    2 không trả về
    $dir = plugin_dir_path( __FILE__ );
    	$zip_file = $dir . '/filename.zip';
    3, thì có vấn đề gì đó, vì vậy hãy thoát ra với một số thông báo

    $zip = new ZipArchive();
    	if ( $zip->open($zip_file, ZipArchive::CREATE) !== TRUE) {
    	exit("message");
    	}
  • Thêm tệp trong tệp Zip. Để thêm bất kỳ tệp nào, chúng tôi có thể thêm tệp bằng đường dẫn tệp hoặc chúng tôi có thể thêm tệp bằng nội dung của tệp

    $zip->addFile('full_path_of_the_file', 'custom_file_name');

    Tham số thứ nhất là đường dẫn đầy đủ của tệp với tên tệp và phần mở rộng tệp

    Tham số thứ 2 dành cho tên tệp bên trong tệp zip, nếu nó được cung cấp thì tên tệp gốc sẽ bị ghi đè

    Bây giờ hãy thêm tệp bằng nội dung của nó

    $download_file = file_get_contents( $file_url );
    	$zip->addFromString(basename($file_url),$download_file);
  • Bây giờ đừng quên đóng tệp zip

    ________số 8_______

Tải xuống tệp Zip đã tạo

Bây giờ tệp đã sẵn sàng để tải xuống. Bạn biết vị trí và tên tệp xip đã tạo để bạn có thể thêm thẻ để tải xuống tệp zip hoặc bạn có thể buộc tải xuống bằng PHP để tải xuống tự động

  • For force download, you have to set the header correctly. When you are setting the header for download the Zip file that time Content-type and
    $dir = plugin_dir_path( __FILE__ );
    	$zip_file = $dir . '/filename.zip';
    4 correctly. In
    $dir = plugin_dir_path( __FILE__ );
    	$zip_file = $dir . '/filename.zip';
    4, add the attachment, it will suggest the browser to download the file instead of displaying it directly.

    header('Content-type: application/zip');
    	header('Content-Disposition: attachment; filename="'.basename($zip_file).'"');
    	header("Content-length: " . filesize($zip_file));
    	header("Pragma: no-cache");
    	header("Expires: 0");
  • Bây giờ tiêu đề đã được đặt, vì vậy hãy xóa bộ đệm đầu ra trước khi tải xuống tệp Zip. Đôi khi, tệp Zip tải xuống không mở chính xác và trong Safari, giải nén tự động cũng không thành công vì một số lý do. Để tránh sự cố, bạn cần làm sạch bộ đệm đầu ra

    ob_clean();
    	flush();
  • Bây giờ hãy tải xuống tệp Zip tại địa phương của bạn

    readfile($zip_file);
  • Vị trí và tên của tệp Zip luôn giống nhau, do đó, chức năng sẽ thực thi bao nhiêu lần mỗi khi tệp mới được thêm vào cùng một tệp Zip, vì vậy việc giữ lại tệp Zip đã tạo sau khi tải xuống hoàn tất chỉ là lãng phí dung lượng ổ đĩa, vì vậy

    unlink($zip_file);
    Nếu bạn cần giữ tệp Zip đã tạo mọi lúc, thời gian đó không sử dụng
    $dir = plugin_dir_path( __FILE__ );
    	$zip_file = $dir . '/filename.zip';
    6, chỉ cần thay đổi tên tệp Zip mỗi lần, sao cho thêm thời gian vào tên tệp
  • Cuối cùng nhưng không kém phần quan trọng, đừng quên thoát sau
    $dir = plugin_dir_path( __FILE__ );
    	$zip_file = $dir . '/filename.zip';
    7

    $dir = plugin_dir_path( __FILE__ );
    	$zip_file = $dir . '/filename.zip';
    0

Tạo thư mục zip và tải xuống trong PHP

Bài viết này ban đầu được đăng tại http. //tanmaymaity89. báo chí. com/2014/09/29/create-download-zip-file-using-php

Giấy phép

Bài viết này, cùng với bất kỳ mã nguồn và tệp liên quan nào, được cấp phép theo Giấy phép Mở Dự án Mã (CPOL)


Tạo thư mục zip và tải xuống trong PHP

Được viết bởi

Thành viên 11155555

Tạo thư mục zip và tải xuống trong PHP
Ấn Độ

Thành viên này chưa cung cấp Tiểu sử. Giả sử nó thú vị và đa dạng, và có lẽ là một cái gì đó liên quan đến lập trình

Làm cách nào để nén một thư mục và tải xuống bằng php?

php $files = mảng($listfiles); . nén'; . TẠO NÊN); . ứng dụng/zip'); . tập tin đính kèm;

Làm cách nào để tạo liên kết tải xuống cho tệp zip trong php?

tập tin $. '/'; . zip"; if (file_exists($filename)) { header('Content-Type. ứng dụng/zip'); . tập tin đính kèm;

Làm cách nào để tải xuống 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;

Làm cách nào để tải xuống zip từ máy chủ trong php?

$files,$files. " } $zip->close(); //sau đó gửi tiêu đề để buộc tải xuống tệp zip header("Kiểu nội dung. ứng dụng/zip"); tiêu đề ("Bố trí nội dung. tập tin đính kèm; . no-cache"); header("Hết hạn. 0"); readfile("$archive_file_name"); thoát; } ?>