PHPやHTMLで作成されたWEBページなどをそのままPDFヘ出力してくれる
便利なライブラリを発見(古い?)
まぁあまりPDF出力とか使ってなかったからね・・・・
調べもしてなかった
まぁ調べてると色々と有るみたいですが、私が気に入ったのは「mPDF」
これは便利だと思って、早速インストールしてみたが
最新版mpdf51は、どうも日本語対応してないのか文字化けする。
色々と調べたら「CJK Lang....(ry」ってのをDLして公式に「unifont」ディレクトリに入れろって書いてるが、mpdf51に「unifont」なんてディレクトリないしw
メンドクセ・・・・
色々と調べると、mpdf4xには「unifont」あった。
とりあえずこれで動かすかと思ってやった見たら、日本語奇麗に表示された。
しかし、なぜか画像が表示されない。
うーーーん・・・
と思ったら、見え難かったんだけど、「mPDF5.0」ってのがあった
どうも、これが日本語フォントとかもとりあえずサポート?してるっぽい。
早速使ってみたら
なんとも!イメージ通り表示された!!
おぉ〜ソースコードも奇麗になるし、たった5行6行でPDF出力
凄過ぎるぜ!!
とあるブログを見ると
$mpdf = new mPDF('UTF-8','A4');
と書いてあったが、これは間違い。
$mpdf = new mPDF('ja','A4');
こうしないと、日本語が文字化けしますので、後者が正解。
そして、ダウンロードするのであれば「mPDF v5.0」をDLしてやってください。
http://www.mpdf1.com/mpdf/download
ここからDLできるよん。
得意な言語PHP, JavaScript , VBAですかね・・・ 今までPGしか勉強してなかったのですが、最近サーバーの事も勉強初めて忘れる事が多いので書き貯めて行こうと思います。
2011年5月27日金曜日
2011年5月22日日曜日
maximum execution time of 30 seconds exceeded php.iniの設定変更
php.iniのmax_execution_timeの設定がデフォルト30となっている。
これは30秒以上かかると、自動的にタイムアウトするって設定らしい。
なので、php.iniのmax_execution_timeの設定を60などと大きくすると
結構な量のデータを処理できる。
ブラウザ側でのタイムアウトの設定もあるみたいなので
大きいからといって、処理できるわけでもないみたい。
そういう時は、「ブラウザ タイムアウト 設定」などで検索するといろいろと出てきます。
IEの場合だとレジストリを触らないとだめみたいですね。
まぁ60とか180くらいならぜんぜんいけるのかな・・・
これは30秒以上かかると、自動的にタイムアウトするって設定らしい。
なので、php.iniのmax_execution_timeの設定を60などと大きくすると
結構な量のデータを処理できる。
ブラウザ側でのタイムアウトの設定もあるみたいなので
大きいからといって、処理できるわけでもないみたい。
そういう時は、「ブラウザ タイムアウト 設定」などで検索するといろいろと出てきます。
IEの場合だとレジストリを触らないとだめみたいですね。
まぁ60とか180くらいならぜんぜんいけるのかな・・・
2011年5月19日木曜日
MySqlを外部接続するための設定
今更な気もしますが、忘れっぽいので・・・・
A.com と B.comがあって
A.comを外部データベースサーバーとして使用する。
B.comはA.comからのデータを取得して閲覧のみ。
A.comのmy.confの中にある
bind-address=127.0.0.1をコメントにする
↓↓↓↓↓↓↓↓↓↓
# bind-address = 12.0.0.1
(bind-addressは外部からの接続を許可しない時に使用します。)
次に、A.comにssh接続する
(phpMyAdminの特権ところでも確認やSQL文を発行して追加する事はできますがROOT権が無かったらエラーになるので、今回はターミナルなどのソフトでSSH接続で行います。)
ssh接続完了したら
mySqlへ移動します
> mysql -u root -p
mysql > となったらOK
次に、GRANTで発行する。
mysql> GRANT ALL PRIVILEGES ON *.* TO user@'%' IDENTIFIED BY '任意のパスワード';
「*.*」だと、全部のテーブルを見れる設定になってしまうので
「TABLE_NAME.*」とすると、見れるテーブルを指定できます。
「user@%」になっている「%」の所を外部のIPアドレスにする事で、指定されたIPからしか接続出来ない様にする。(セキュリティ強化の為)
「user」となってる所は接続用のUSER名かな?(ここらへん解らん)
あまり、私も詳しく理解してないので自己責任でお願いします。
上記QUERYを発行して、OKだったら
Query OK, 0 rows affected (0.00 sec)
A.com と B.comがあって
A.comを外部データベースサーバーとして使用する。
B.comはA.comからのデータを取得して閲覧のみ。
A.comのmy.confの中にある
bind-address=127.0.0.1をコメントにする
↓↓↓↓↓↓↓↓↓↓
# bind-address = 12.0.0.1
(bind-addressは外部からの接続を許可しない時に使用します。)
次に、A.comにssh接続する
(phpMyAdminの特権ところでも確認やSQL文を発行して追加する事はできますがROOT権が無かったらエラーになるので、今回はターミナルなどのソフトでSSH接続で行います。)
ssh接続完了したら
mySqlへ移動します
> mysql -u root -p
mysql > となったらOK
次に、GRANTで発行する。
mysql> GRANT ALL PRIVILEGES ON *.* TO user@'%' IDENTIFIED BY '任意のパスワード';
「*.*」だと、全部のテーブルを見れる設定になってしまうので
「TABLE_NAME.*」とすると、見れるテーブルを指定できます。
「user@%」になっている「%」の所を外部のIPアドレスにする事で、指定されたIPからしか接続出来ない様にする。(セキュリティ強化の為)
「user」となってる所は接続用のUSER名かな?(ここらへん解らん)
あまり、私も詳しく理解してないので自己責任でお願いします。
上記QUERYを発行して、OKだったら
Query OK, 0 rows affected (0.00 sec)
でます。エラーだと何らかのエラー文が出ると思います。
あとは接続ですが
$hostname = ホストのIPアドレス;
$database = TABLE_NAME;
$dbuser = 設定したuser名;
$dbpass = 設定したパスワード;
$con = mysql_connect($hostname, $dbuser, $dbpass) or die(mysql_error());
mysql_select_db($database,$con) or die(mysql_error());
PHPで書くとこんな感じだとおもいますが
これで、接続できたらOKですね。
2011年5月15日日曜日
CKeditorを画像ファイルアップロード可能にする方法
以前から、色々と重宝してるCKEditorですが
デフォルトでは、画像のリンクは出来ますが、画像のファイルアップローダーは付いてないってことで
外部プラグイン「CKfinder」を利用します。
色々と調べると、有料版とか有償版とか書かれてるのですが
たぶん無料で使えます。
ただこんなコメント出てますので意味不明です(笑
「This is the DEMO version of CKFinder. Please visit the CKFinder web site to obtain a valid license.」
まぁとりあえず使えるならDEMOバージョンだろうがどーだっていい。
ってことで,設定を。
まずはCKfinderをDL
最新の物が良いかもしれないですね。
DLしたら、ファイルをサーバーへアップロード(好きな所へ)
アップロードしたら、CKfinderの中の
config.phpを触ります。
33行目のreturn false;をreturn true;へ変更
63行目の$baseUrl = '/user/userfile/'; を 好きなURLヘ変更します。
63行目で書いた場所が画像のアップロード先になります。
これで設定はほぼ完了。簡単。
config.jsの中の
language = "fr"とかってなってるコメントされてるところを
jaとして、コメントはずしてもOK
ちなみに、今回は触りませんが、ここでスキンの設定も出来そうですね。
次は参照元(先)を追加します。
次に、今まで使っていたCKeditorですが
CKfinderを入れる前はたぶんこんな感じになってるのかな
<textarea id="ckeditor" class="ckeditor" name="details"></textarea>
これを変更せずに
<script type="text/javascript">
// This is a check for the CKEditor class. If not defined, the paths must be checked.
if ( typeof CKEDITOR == 'undefined' ){
//CKエディタが見つからん時の処理
}else{
var editor = CKEDITOR.replace( 'ckeditor' );
CKFinder.setupCKEditor( editor, '/参照元/ckfinder/' );
) ;
}
</script>
とします。
とまぁこれで、設定完了です。
超簡単でした。
デフォルトでは、画像のリンクは出来ますが、画像のファイルアップローダーは付いてないってことで
外部プラグイン「CKfinder」を利用します。
色々と調べると、有料版とか有償版とか書かれてるのですが
たぶん無料で使えます。
ただこんなコメント出てますので意味不明です(笑
「This is the DEMO version of CKFinder. Please visit the CKFinder web site to obtain a valid license.」
まぁとりあえず使えるならDEMOバージョンだろうがどーだっていい。
ってことで,設定を。
まずはCKfinderをDL
最新の物が良いかもしれないですね。
DLしたら、ファイルをサーバーへアップロード(好きな所へ)
アップロードしたら、CKfinderの中の
config.phpを触ります。
33行目のreturn false;をreturn true;へ変更
63行目の$baseUrl = '/user/userfile/'; を 好きなURLヘ変更します。
63行目で書いた場所が画像のアップロード先になります。
これで設定はほぼ完了。簡単。
config.jsの中の
language = "fr"とかってなってるコメントされてるところを
jaとして、コメントはずしてもOK
ちなみに、今回は触りませんが、ここでスキンの設定も出来そうですね。
次は参照元(先)を追加します。
<script type="text/javascript" src="/参照元/ckfinder/ckfinder.js"></script>
次に、今まで使っていたCKeditorですが
CKfinderを入れる前はたぶんこんな感じになってるのかな
<textarea id="ckeditor" class="ckeditor" name="details"></textarea>
これを変更せずに
<script type="text/javascript">
// This is a check for the CKEditor class. If not defined, the paths must be checked.
if ( typeof CKEDITOR == 'undefined' ){
//CKエディタが見つからん時の処理
}else{
var editor = CKEDITOR.replace( 'ckeditor' );
CKFinder.setupCKEditor( editor, '/参照元/ckfinder/' );
) ;
}
</script>
とします。
とまぁこれで、設定完了です。
超簡単でした。
登録:
投稿 (Atom)