勉強したことのメモ

webプログラマが勉強したことのメモ。

PHPで複数の画像やテキストファイルをzipファイルとしてダウンロードさせる

   

PHPで画像ファイルやテキストファイルをzip圧縮して、ダウンロードさせたかった。ZipArchiveというクラスで簡単に出来るみたい。

 

■リファレンス

http://php.net/manual/ja/book.zip.php

 

■ソース

<?php
set_time_limit(0);
$zip = new ZipArchive();
$zipFileName = 'test.zip';
$zipTmpDir = '/test/zip';
$result = $zip->open($zipTmpDir.$zipFileName, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);


if( $result !== true ){ //エラー処理
	echo 'error!';
	exit();
}

//zipフォルダにファイルを追加
$zip->addFile('001.jpg');
$zip->addFile('002.jpg');
$zip->addFile('001.txt');

$zip->close();

//出力
header('Content-Type: application/zip; name="' . $zipFileName . '"');
header('Content-Disposition: attachment; filename="' . $zipFileName . '"');
header('Content-Length: '.filesize($zipTmpDir.$zipFileName));
echo file_get_contents($zipTmpDir.$zipFileName);

//zipファイル削除
unlink($zipTmpDir.$zipFileName);
exit();

 

 - PHP

  関連記事

フォームデータを一気に取得

<? error_reporting(E_ALL & ~E_NOT ...

PHPでif文とswitch文

ずっとif文を使っていたけどswitch文の方が速いみたい。 あとずらずら~とi ...

PHPでaタグにnofollowを付ける

タイトルそのまま、リンクがあった場合に nofollowつけてくれ、というもの。 ...

PHPページングテンプレ

使いやすいのがあったのでメモ。   $page            ...

さくらvpsでPHPのエラーログ設定

PHPのエラーログを設定した際のメモ。 vi /etc/php.ini で設定フ ...

includeした内容を変数に入れる

includeした内容を変数に入れる際に嵌ったのでメモ。 下記サイト様を参考にさ ...

独自タグからタグへの変換function

独自タグは##IMG1##みたいな感じ。 画像ファイル名は「ファイルパス/seq ...

PHPのLocationに変数を入れる

ページ遷移したい際に使う、 header("Location:./aaa.htm ...

MySQLでのバッククオート

phpmyadminを使っていると``←みたいな括りを見るけど これなんなん?  ...

PHPのチェック系関数

たまたまis_objectという関数を見かけて、 is_numericとかiss ...