Thông thường, bạn không nhất thiết phải sử dụng bất kỳ ngôn ngữ kịch bản phía máy chủ nào như PHP để tải xuống hình ảnh, tệp zip, tài liệu pdf, tệp exe, v.v. Nếu loại tệp đó được lưu trữ trong một thư mục có thể truy cập chung, bạn chỉ cần tạo một siêu liên kết trỏ đến tệp đó và bất cứ khi nào người dùng nhấp vào liên kết, trình duyệt sẽ tự động tải xuống tệp đó
Download Zip file
Download PDF file
Download Image file
Download EXE file
Nhấp vào liên kết trỏ đến tệp PDF hoặc tệp Hình ảnh sẽ không trực tiếp tải xuống ổ cứng của bạn. Nó sẽ chỉ mở tệp trong trình duyệt của bạn. Hơn nữa bạn có thể lưu nó vào ổ cứng của bạn. Tuy nhiên, các tệp zip và exe được tự động tải xuống ổ cứng theo mặc định
Buộc tải xuống bằng PHP
Bạn có thể buộc hình ảnh hoặc loại tệp khác tải trực tiếp xuống ổ cứng của người dùng bằng hàm PHP readfile[]
. Ở đây chúng ta sẽ tạo một thư viện hình ảnh đơn giản cho phép người dùng tải xuống các tệp hình ảnh từ trình duyệt chỉ bằng một cú nhấp chuột
Hãy tạo một tệp có tên "image-gallery. php" và đặt đoạn mã sau vào bên trong nó
Simple Image Gallery
';
echo 'Download
';
echo '
'; } ?>
Nếu bạn xem kỹ đoạn mã ví dụ trên, bạn sẽ thấy liên kết tải xuống có dạng "tải xuống. php", URL cũng chứa tên tệp hình ảnh dưới dạng chuỗi truy vấn. Ngoài ra, chúng tôi đã sử dụng hàm PHP
Simple Image Gallery
';
echo '';
echo 'Download
';
echo '
0 để mã hóa tên tệp hình ảnh để nó có thể được chuyển an toàn dưới dạng tham số URL, vì tên tệp có thể chứa các ký tự URL không an toànĐây là mã hoàn chỉnh của "tải xuống. php", buộc tải xuống hình ảnh
Tương tự, bạn có thể buộc tải xuống các định dạng tệp khác như tệp word doc, tệp pdf, v.v.
Biểu thức chính quy trong ví dụ trên [dòng số 8] sẽ đơn giản là không cho phép các tệp có tên bắt đầu hoặc kết thúc bằng ký tự dấu chấm [
Simple Image Gallery
';
echo '';
echo 'Download
';
echo '
1], ví dụ: nó cho phép các tên tệp như
Simple Image Gallery
';
echo '';
echo 'Download
';
echo '
2 hoặc
Simple Image Gallery
';
echo '';
echo 'Download
';
echo '
3,
Simple Image Gallery
';
echo '';
echo 'Download
';
echo '
4 nhưng không Tạo tệp zip hoặc tải xuống tất cả các tệp dưới dạng tệp zip bằng PHP không quá khó. Bạn chỉ cần tạo một tệp zip bằng hàm PHP touch[] sau đó thêm tất cả các tệp vào tệp zip đã tạo và cuối cùng tự động tải xuống tệp bằng nội dung tiêu đề
Trong bài đăng này, tôi sẽ cung cấp cho bạn một hướng dẫn đầy đủ cho
- Làm cách nào để tạo tệp zip trong PHP?
- Làm cách nào để thêm tệp vào zip trong PHP?
- Làm cách nào để tải xuống zip trong PHP?
PHP tạo tệp zip trên máy chủ
Việc tạo file hay tạo bất kỳ file nào hoàn toàn giống nhau trong PHP bạn chỉ cần hàm touch[] mặc định của PHP. Hàm này sẽ lấy tên tệp cùng với vị trí và trả về cho bạn một tệp
$zip_file_name_with_location = "/zip-file/all-image.zip"; touch[$zip_file_name_with_location]; // just create a zip file
PHP thêm tệp vào zip
Bây giờ nếu bạn muốn thêm hoặc chèn một số tệp vào tệp zip của mình, bạn cần mở tệp zip của mình theo lớp ZipArchive mặc định bằng các phương thức open[]. Phương pháp này sẽ lấy tên tệp zip của bạn với vị trí. Sau khi mở tệp zip của bạn, hãy chèn các tệp của bạn vào tệp zip đã mở bằng phương thức addFile[], phương thức này sẽ nhận hai tham số một là tên tệp có vị trí [bạn muốn chèn] và một là tên tệp không có vị trí. Sau khi thêm tất cả các tệp, bạn cần đóng tệp zip đang mở của mình
$zip = new ZipArchive; $opening_zip = $zip->open[$zip_file_name_with_location]; // add a image to this opening zip file $opening_zip->addFile[$inserting_file_name_with_location,$inserting_file_name_without_location]; $opening_zip>close[];
Ghi chú. giả sử bạn muốn đổi tên tên tệp chèn của mình bên trong tệp zip thì bạn có thể thực hiện việc đó chỉ bằng cách sử dụng tên được chấp nhận của mình dưới dạng $inserting_file_name_without_location
Hãy để
tên tệp bạn chèn cùng với vị trí là “/images/ngo-2342341. jpg” Và,
không có vị trí, tên tệp là “ngo-2342341. jpg”.
Bạn muốn thêm tệp này dưới dạng “image-1. jpg”. Vì vậy, bạn có thể làm điều đó như thế này.
$opening_zip->addFile[$inserting_file_name_with_location,”image-1.jpg”];
Trong ví dụ này, chúng tôi chỉ thêm hoặc chèn một tệp vào tệp zip của mình, nhưng để thêm tất cả các tệp của một thư mục, bạn cần tìm nạp tất cả các tệp từ một thư mục
PHP tải xuống tệp zip từ máy chủ
Để tự động tải xuống tệp zip của bạn, bạn chỉ cần đặt một số loại nội dung tiêu đề và mô tả nội dung sau đó đọc tệp