PHPでパスワード付きのZIP / PDFファイルを作成する方法
PHPでZIPファイル化する方法やPDFファイル出力する方法を過去に書いたが、何らかの案件に実装する場合パスワード付きにしてほしいみたいな要望があるかもと思った。以下に対応方法のメモ。
TCPDFを用いる場合以下を記述する。
$tcpdf->SetProtection(array('print', 'copy', 'modify'), 'password');
引数の詳細はリファレンスを参照。
ZIP
<?php chdir('/var/www/html'); exec("zip -e --password=xxxxxxxx ./test.zip ./test.txt");
chdirで移動せずに「/var/www/html/test.zip /var/www/html/text.txt」みたいに指定すると「/var/www/html/」のディレクトリ構造のまま圧縮されてしまうので注意。また、上記が正常に動作しない場合はディレクトリのパーミッションを確認すること。
所感
今回のは個人情報等を取り扱うシステムなんかで割と使えそう。
関連記事
-
-
PHPでメモリの使用率確認
PHPでメモリの使用率を確認。ついでに処理時間も一緒に表示。 /*ヘッダに書いと ...
-
-
エラー処理を1ページにまとめる
できるだけまとめておいた方が効率よさそうなのでメモ。 メインのフォルダにlogs ...
-
-
フォルダにリンク制限をかける
imgというフォルダがあり、直接URLを叩いても 中身を見られないけど、同一サー ...
-
-
CRUDのfunction化(処理ページ)
<?php //エスケープ用htmlspecialchars functi ...
-
-
PHPの配列をファイルに保存してPHPやJSで呼び出す
PHPの配列をファイルとして保存し、別のページからPHPやJavaScriptで ...
-
-
PHPで日時比較時の注意
PHPで日時を比較する際にミスがあったのでメモ。 基本形は下記。 $limit_ ...
-
-
PHPで配列かどうかを調べる
配列か否かを調べたいケースがあり、確認すると ばっちりそのままの関数発見。 is ...
-
-
PHPで「Unable to allocate~」とエラー
PHPで「Unable to allocate memory for pool」 ...
-
-
PHPで文字列の操作(検索、置換、切り出し)
しばしば行う文字列の操作をまとめておく。 ----- ■文字列の長さを調べる e ...
-
-
PHP / MySQLで2038年問題の対策
先日打ち合わせの際に「タイムスタンプを使ってユニークキーに云々~~」といったよう ...