PHPでパスワード付きのZIP / PDFファイルを作成する方法
2026/07/14
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/」のディレクトリ構造のまま圧縮されてしまうので注意。また、上記が正常に動作しない場合はディレクトリのパーミッションを確認すること。
所感
今回のは個人情報等を取り扱うシステムなんかで割と使えそう。
関連記事
-
-
JavaScriptにて領収書等のテンプレートHTMLページをPDFファイル化させる方法(html2pdf)
JavaScriptにてhtml2pdfというライブラリを使用することでHTML ...
-
-
TCPDFに任意の日本語フォント(Noto Sans JP)を追加する方法
TCPDFはデフォルトで6つの日本語フォントが用意されているっぽいが、それら以外 ...
-
-
mpdfで「The /e modifier is …」エラー発生時の対応方法
pdf関連のPHPライブラリ「mPDF」を使っているページがエラーログにのってお ...
-
-
HTML / CSSで作成したコンテンツをPDFファイルで出力する方法(TCPDF)
HTML / CSSで作成したコンテンツをPDFファイルで出力させたい。以前mp ...
-
-
PHPでテンプレートPDFにリンク付きの文字を追記する方法(TCPDF&FPDI)
以前、PHPのTCPDF&FPDIを用いてテンプレートPDFに対し、動的 ...