PHPの配列にもっている値を、JavaScriptで利用する場合のサンプルです。
続きを読む phpコードを利用してJQuery(JavaScript)の変数を定義する方法
カテゴリー: PHP
TCPDFでCODE39のバーコードの読取精度が悪いので調整してみました。
この前の案件でTCPDFでCODE39のバーコードを表示することがあり、
バーコード小さくしてを印刷すると黒い線が太くて白い部分がつぶれるので
TCPDF自体を修正し、黒線を細くすることで読取精度を上げてみました。
以下修正個所です。
foreach ($arrcode['bcode'] as $k => $v) { // modified $v['w'] にバーコード1線分の太さ1か3で入っているので細さを調整したい数値(0.1)をセット $bw= ($v['w'] > 1) ? $v['w'] * $xres - 0.1 : $v['w'] * $xres + 0.1; if ($v['t']) { // draw a vertical bar $ypos = $y + $vpadding + ($v['p'] * $barh / $arrcode['maxh']); $this->Rect($xpos, $ypos, $bw, ($v['h'] * $barh / $arrcode['maxh']), 'F', array(), $style['fgcolor']); } $xpos += $bw }
これで認識率上がりました。0.1の数値を調整することでもうちょっと認識率上げれそうでした。
TCPDFでいつの間にか日本語のフォント・サブセットが使えるようになってた!!
いつもお世話になってるTCPDFですが
VER 5.2.000よりフォント・サブセットを使用できるのは知っていたのですが
日本語で使用するとCPUとメモリを使いすぎて使い物になりませんでした・・・
今までどおりフォントの全て埋め込みで対応していたのですがやはり3MBオーバーは重いなーと思っていました。(バックアップ用に生成したPDFとか置くのはとても無理でした)
以前案件で軽いPDFを出す必要がありだめもとで新しいTCPDF(6系)を使ってみたところ・・・
使えるようになってました!!(数100kbとかで出力できたりします。)
これでお客さんに重いって言われなくなります!
以下サンプルと注意事項です。
PHPでサーバーを監視するプログラムを作ってみました。
最近サーバーの調子が悪いので、サーバーにトラブルがあったら連絡くれるようにしてみました。
アシアルさんでいいのを発見!これを使ってDBも監視するようにしました。
CakePHPでinputの名前で5層に対応する
CakePHPで配列で指定したinputに$this->dataが連動してくれる
helperのありがたい機能を使っていたのですが、
<?php echo $form->input(“Part.1.element.1.radio”, array(‘type’=>’text’)); ?>
という感じの5層構造になるとデータの引継ぎをしてくれません。
helperの対応しているのは4層までみたいです。
困ったということで調べてみるのですが、これという記事が見つからないので
自分でカスタマイズして5層でもデータがやり取りできるようにしました。
wdCalenderが本番サーバーで動かない
wdCalenderをローカル環境で動かしていて、実際本番環境にUPした時に動かなくなってテンパッタのでメモとしてブログに残しておきます。
症状としてはテスト環境では動くのに本番環境では動かないというもの。
jqueryに頼っているので実際動かないと、どう調査をしたらいいか分からずとりあえず、FireBugで追っかけていきます。
するとどうもテストでは値が入っている所に、本番では入っていないということが分かりました。しかもJSON形式のデータが・・・
JSON形式のデータ???んっ!!以前phpのjson_encodeはphpのバージョンに依存するなというのに、はまった事があるなということで調べるとビンゴでJSONが使えるPHPのバージョンは5.2以上ということ。
本番サーバーではphpのバージョンが5.1.6だったので早速5.1.6でもJSONが使えるように「http://www.softel.co.jp/blogs/tech/archives/973」を参考にサーバーの設定を変更!!
これで動くかなと思っていたのですが動かない・・・という事でもう一度デバッグ作業をしていきます。
今度はphpの記述部分をfwrite関数を使っていって1行ずつファイルにデバッグ文を出力して追って行きます。するとある関数で処理が止まってしまっている事が分かりました。
それはdate_parse関数なのですが調べてみると、この関数が使えるのはphp5.2以上との事でして、JSONと一緒やんという顛末でした。date_parse関数のところを独自の記述に置き換えると見事動いてくれました。
基本としてwdCalenderはphp5.2以上で使うもの。それ以前で使うときは動くように自分で調整をして上げる必要ありという事でした。
MySQLに大量のデータをインポートする
今回レンタルサーバーの区画のMySQLに大量データを流し込まなくなったのですが、レンタルサーバーが用意してくれているphpMyAdminでは容量が大きくてインポートが出来ませんでした。
自社で管理しているサーバーであればコマンド一発で難なく出来るのですが、レンタルサーバーなものでコマンドも使えない、php.iniの値も変えれないということでどうした物かという状況になりました。
困ってググッてみたらBigDumpという便利そうなものを発見!!
詳しくはhttp://d.hatena.ne.jp/istwar/20101019/1287505139を見てもらった方が早いので説明は書かないですけど、とにかくPHPファイル1つでインポートが出来ちゃうのでどんなサーバー相手でもへっちゃらというのは素晴らしい!!
すごい重宝するので皆さんも是非使ってみてください。
TCPDFでセキュリティー設定をしたPDFを作る
この前、閲覧、印刷のみできるPDFて作れる?
DB暗号化を調べてみた
DBに保存する時に個人情報をそのまま保存するのは、万が一DBの情報が流出した時にまずいので、色々と調べてみました。
ブラウザ・IEの画像キャッシュをなんとかする
画像をアップするシステムを作ってる時にかなり邪魔なブラウザの画像のキャッシュ。