ขอตัวอย่างตัว download หลายๆ ไฟล์ออกมาเป็น .zip

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
eange08
PHP Super Hero Member
PHP Super Hero Member
Posts: 609
Joined: 22/12/2020 10:09 am

ขอตัวอย่างตัว download หลายๆ ไฟล์ออกมาเป็น .zip

Post by eange08 »

อยากจะขอตัวอย่างโค้ดกับแนวทางสำหรับ download หลายๆ ไฟล์ในหน้านั้นๆ แล้วออกมาเป็นไฟล์ .zip ได้ไหมค่ะ
เหมือนแบบนี้นะคะ
Screenshot from 2021-01-07 10-17-33.png
User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 13067
Joined: 18/04/2012 9:39 am

Re: ขอตัวอย่างตัว download หลายๆ ไฟล์ออกมาเป็น .zip

Post by tsukasaz »

ตัวอย่างโค้ดนะครับ

สำหรับในตัวอย่างนี้ไฟล์ทุกไฟล์จะอยู่ในโฟลเดอร์เดียวกัน เพราะฉะนั้นการกำหนดที่อยู่ไฟล์จึงใส่แค่ชื่ออย่างเดียว

แต่ในกรณีที่นำไปใช้งานจริง ไฟล์อยู่คนละโฟลเดอร์ ต้องกำหนดที่อยู่ไฟล์อ้างอิงตามโฟลเดอร์นั้นๆ นะครับ

กรณีถ้าไม่สามารถสร้างไฟล์ zip ได้ ลองเปลี่ยน permission ของโฟลเดอร์ก่อนครับ

Code: Select all

<?php
// ที่อยู่ของไฟล์ zip ที่ต้องการสร้าง
$zip_path = 'image.zip';

// ที่อยู่ของไฟล์รูปภาพ
$image1_path = 'test1.png';
$image2_path = 'test2.png';

// เรียกใช้ class ZipArchive ของ php
$zip = new ZipArchive();
// คำสั่งสำหรับสร้างไฟล์ zip ตามที่อยู่ไฟล์ที่เรากำหนดไว้ในตัวแปร $zip_path
$zip->open($zip_path, ZIPARCHIVE::CREATE);
// เพิ่มไฟล์เข้าไปใน zip อันนี้จะใส่ตัวแปร $image1_path ที่กำหนดที่อยู่รูปภาพไว้
$zip->addFile($image1_path, basename($image1_path));
$zip->addFile($image2_path, basename($image2_path));
// ปิดไฟล์ zip
$zip->close();

ในส่วนของรูปภาพที่มีหลายรูปสามารถใช้ loop ในการเพิ่มไฟล์เข้าไปใน zip ได้
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: No registered users and 13 guests