めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

PHP5

PHPでURLを少し変えてheder情報を取得する

URLを少しずつ変えて何回もアクセスした結果(返ってくるhttpのヘッダー情報)を知りたいと思ったので、書いてみました。PHPの便利なところは、いろんな関数があるところ。あと、Googleで調べると、ドキュメントや情報が多いところ。 ソース

TwitterのSearch API をPHP5で試してみる

なんとなく、TwitterのSearch API をPHP5にて試してみました。 かなりお手軽なんですけれど、こんな感じでした。 ソース 保存はutf8で json_decode()は、PHP 5.2.0 以上で

BEARというフレームワークをMacOSXにインストールしてみた

CakePHPを利用する事が多いのですが、たまたまBEARというフレームワークがあることを知りました。今まで聞いた事がないフレームワークだったので、調べてみると第51回PHP勉強会@関東(http://events.php.gr.jp/events/show/93)で紹介されていました。 BEAR …

Yahoo!や、Googleでのインデックス数を調べるPHPスクリプト

Yahoo!や、Googleでのインデックス数を知りたくて、「PHPのスクレイピングで帝国データーバンクの企業コードを抜き出してみた - めも帖」で利用したスクレイピング処理。エラー処理とか入れてないけれど、定期的に叩けば知ることができそうです 実行スクリプ…

mPDFを試してみた(2)いくつかの問題点。CSSなど

「mPDFを試してみた(1) - めも帖」で試してみてました。 その後、もう少し試してみました。すると、いくつかの問題点がありました。外部のサイトを何でもかんでも、WebでPDF化する、というのは大変かも。 問題点 ファイル保存に時間がかかる Yahoo!や、は…

mPDFを試してみた(1)

mPDFを試してみました。「」を参考に、mPDF version 3を。 ※つづき「mPDFを試してみた(2)いくつかの問題点。CSSなど - めも帖」 関連URL mPDF 実際のソース table {border-collapse: collapse; width:100%;} </style> <table><tr><td>日本語OKです。<td></tr></table> "; include("./mpdf/mpdf.php…

array_searchの結果の真偽判定

array_searchの結果の真偽判定は、きちんと型を見る必要があったのか... マニュアルに書いてあるんだけれど、そうでしたか...という感じでした。 返ってくる値が、すっきりしない。 '; var_dump($array_1); var_dump($array_original); foreach($array_origi…

mb_substrの話

mb_substrの話 きちんと文字コードを指定 改行もタブも1文字に入る 使ってみてわかった。 参考 mb_substrと文字コード : 週末プログラマの開発日記 mb_substr マルチバイト部分文字列の罠 - Split Brain Syndrome 2バイト文字列を文字化けせずに切り抜く方法…

Net_UserAgent_Mobileをインストール

PearのNet_UserAgent_Mobileをインストールするときの話。 現在(このエントリーを書いている時点)では、RCなので、-fというオプションをつけてインストール。ついでに、channelをアップデートしておいた方がいいらしい sudo pear channel-update pear.php.…

MacPortsでPHP5をインストールする

MacPortsでPHP5をインストールしようと思います。 MacPortsでPHP5をインストールする $ sudo port install php5 +apache2 +mysql5 +postgresql83 +pear インストールされたのは、5.2.8でした MySQLと、apache2と、postgresql8.3をインストールしていたので、…

さくらインターネットのレンタルサーバーにPearをインストール

さくらインターネットのレンタルサーバーにPearをインストール。 さくらインターネットにPEARをインストール [dozo dokuwiki.php] すんなり。あっけなかった。 インストールしたので、「XML_Serializer」をインストール。 これで、XMLをいろいろと加工できる…

pearのPagerのオプションについて

Pagerクラスのオブジェクトの作成 - ページング(PEAR::Pager) - PEAR入門 cl.pocari.org - PEAR::Pager で生成されるリンクを並び替える方法 結構まとまっていて、なるほど、なるほど、って感じです。 1, 'title' => 'はてなブックマーク' ); for($i=0; $i<…

PearのPager

PearのPagerがいろいろな個所で使われていることが、わかったので、使ってみようと思います。 たぶん。

pearのPagerをインストールして使ってみた

pearのPagerをインストール pearのコマンドでとりあえず pear install Pager入ったのは、2.4.7 試してみた 1, 'title' => 'はてなブックマーク' ), array( 'id' => 2, 'title' => 'はてなダイアリー' ), array( 'id' => 3, 'title' => 'はてなアンテナ' ), …

QuickFormで日付のプルダウン(HTML_QuickForm_date)に、日付以外(空白)の項目を入れる

QuickFormをいい加減に捨てろ、という声も聞こえてきますね。そんな中、QuickFormで日付選択のプルダウンで、空白を入れたときの設定方法。 HTML_QuickForm_date() 日付のときは、一応これを使ってます オプションの設定 addEmptyOption 初期はfalse trueに…

mapがないと思ってarray_filter()を使ってみた

PHPにmapがないと思っていたら、ありました。 きちんと調べればよかった。代わりに使ったのがarray_filter(); callbackで配列の要素一つ一つに処理をすることができます。 元の配列は破壊されないです。 イテレーターとして使えるのかなあ?

Smartyの変数をPHPの中で利用したい

Smartyでvar_dumpを出したいと思って「@debug_print_var」というのを使いました。 <pre style="height:100px;overflow:scroll;"> {_ $hoge|@debug_print_var _} </pre> こうすると、Smartyでもdumpが取れます。 ところが、このdumpは、開発環境時には必要だけれど、本番環境では必要ないわけです。 そこで、ド…

PHPでカタカナの判別

PHPでカタカナの判別 function validatorKatakana($query){ $string = mb_convert_encoding($query,"EUC-JP","auto"); if( preg_match('/^[ァ-ヶ]*$/i',$string) ){ return false; }else{ return true; } }

PHPの正規表現

Perlで正規表現というと、結構自然に文脈に出てくる感じでした。けれど、PHPで正規表現というと、方法が何通りかあるようです。そのためか、使い方をアレコレ調べることになるということの繰り返し。これは、よくない。 参考 503 Service Temporarily Unavai…

QuickFormでaddFormRuleをcheckboxに適用する場合

QuickFormにはフォーム全体にルールを加える「addFormRule」というメソッドがあります。このメソッドでチェックボックス(checkbox)をチェックしようとしたら、値が渡ってこない。チェックされていなかったら、渡ってこないらしい。なるほど。ということで…

PostgreSQLにADOdbを利用して接続

PostgreSQLにADOdbを利用して接続できました。 sqltypeの名前がpgsqlだとは思わず失敗したぐらい。 あとは、文字コードの話 var $sqltype = 'pgsql'; var $server = 'localhost'; var $user = 'postgres'; var $password = 'postgres'; var $dbname = 'memos…

JSON形式のデータをdecodeする(PHP編)

PEAR::Services_JSONって、配列をJSON形式にすることができます。JSON形式にした内容は、stringとなっています。これをPEAR::Services_JSONを使って、PHPの配列にすることができます。 $js = $json->encode($obj); $res_array = $json->decode($js); という…

MTとWordPressでフィールドを増やす方法の違い(0)

Movable Typeでフィールドを増やす場合、BLOB型(バイナリ)として保存されるらしい。そのため、検索が出来ないという問題点を持っているようです。WordPressでは対応方法が異なるらしい。どうやっているんだろう? 調べてみた 調べてみたら、専用のテーブル…

isset()とis_null()

isset()は知っていたけれど、is_null()というのがあるのは知らなかった。 というより、PHPの関数名の命名規則って....。isnull()もしくはis_set()じゃないというあたりが、変にややこしいです。

Smartyで日付を表示する

DB(今回はMySQL)からタイムスタンプ型でデータを受け取り、それをSmartyで年月日で表示させるときは、きちんとSmartyに修飾子がありました。こいうときに、便利だSmarty。 {$item.create_date|date_format:"%Y/%m/%d"}テンプレートエンジン側で対応できる…

Smartyを利用した汎用のViewクラス

Smartyを利用した汎用のViewクラス。 これをさらに、Viewを呼び出すときにテンプレートディレクトリのパスを指定すると、さらにいいかもしれない。 smarty = new Smarty; $this->smarty->template_dir = $path . 'templates'; $this->smarty->compile_dir = …

ADOdbを利用する(3)呼び出しやすくする

memosというテーブルの内容をindex.phpなどで、 memo.find_all() memo.find_by_id(id) という形で呼び出したかったので、どうしたらいいのか考えてみて実装してみました。 これで呼びやすくなった気がする。 環境 PHP 5.2.1 MySQL 5.0 課題 insert部分(.sav…

ADOdbを利用する(4)insertしてみた

MVC難しい、というかModelとLogicの切り分けはどれぐらいがいいんだろう? 下記の場合、Memoというクラスは、Modelでもあるし、Logicでもあるのかなあ。 Memoクラスにロジックを書いたら、メンテナンスしにくいか?と言われたらどうだろう?悩む。しにくい感…

日付をチェックする

どうやって日付チェックをしようか、と思ったら関数そのものがありました。 PHP: checkdate - Manual PHPってなんでも関数がありそう...

QuickFormのdateには日本語対応していないので、拡張してみた

QuickFormには、日付入力のelementとしてdateがあります。言語を指定すると、表示方法を言語に合わせてくれます。が、日本語がありません。というわけで、再び拡張クラスを...。でも、どうせ日本語以外は使用しないので、日本語のみにしてしまえばいいんじゃ…