php
1<?php
2
34 * test.php
5 *
67
8// エラー表示
9ini_set('display_errors', 1);
10error_reporting(E_ALL);
11
12require_once 'tcpdf/tcpdf.php';
13
14$pdf = new TCPDF();
15
16$name = '日本語.pdf';
17
18// ファイル名をマルチバイトに設定すると、TCPDFがファイル名を強制的に置き換えてしまう。
19// @see http://www.tailtension.com/cakephp/510/
20$string = $pdf->Output($name, 'S');
21
22// browscap を利用する
23// @see http://php.net/manual/ja/function.get-browser.php
24// browscap.ini が存在しないときは、取得する
25if (empty(ini_get('browscap'))) {
26 if (!file_exists('browscap.ini')) {
27 $url = 'https://browscap.org/stream?q=Lite_PHP_BrowsCapINI';
28 $contents = file_get_contents($url);
29 file_put_contents('browscap.ini', $contents);
30 }
31 ini_set('browscap', 'browscap.ini');
32}
33$browser = get_browser();
34
35// クライアントがWindowsの時はファイル名を SJIS-WIN に変換する
36if (preg_match("/win/i", $browser->platform)) {
37 $name = mb_convert_encoding($name, 'SJIS-WIN', 'UTF-8');
38}
39
40header("Pragma: public");
41header("Expires: 0");
42header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
43header("Content-Transfer-Encoding: binary ");
44header('Content-Type: application/octet-streams');
45header("Content-Disposition: attachment; filename=\"{$name}\"");
46echo $string;
47exit;
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。