勉強したことのメモ

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

PHPでパスワード付きのZIP / PDFファイルを作成する方法

   

PHPでZIPファイル化する方法PDFファイル出力する方法を過去に書いたが、何らかの案件に実装する場合パスワード付きにしてほしいみたいな要望があるかもと思った。以下に対応方法のメモ。

 

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でメモリの使用率確認

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年問題の対策

先日打ち合わせの際に「タイムスタンプを使ってユニークキーに云々~~」といったよう ...