🐥
PHP CodeIgniter ファイルをフォルダ分けしてZIP圧縮する
タイトルの通りファイルをフォルダ分けしてZIP圧縮するロジックです。
zip_folder.php
public function zip_folder
{
$this->load->library('zip');
$img_folder_list = [
'folder1' => ['http://img1.jpg', 'http://img2.jpg', 'http://img3.jpg'],
'folder2' => ['http://img4.jpg', 'http://img5.jpg', 'http://img6.jpg'],
'folder3' => ['http://img7.jpg', 'http://img8.jpg', 'http://img9.jpg'],
];
foreach ($img_url_list as $folder_name => $img_url_list) {
$this->zip->add_dir($folder_name);
foreach ($img_url_list as $img_url) {
$split_url = explode('/', $img_url);
$this->zip->add_data($folder_name . '/' . $split_url[count($split_url) - 1], file_get_contents($img_url));
}
}
$this->zip->archive('img_list.zip');
$this->zip->download('img_list.zip');
}
今回はWeb上にある画像をフォルダに分けてZIPにしましたが、ローカルファイルでもそんなに変わらない処理になるでしょう。
Discussion