読者です 読者をやめる 読者になる 読者になる

Keep It Real BLOG

ソフトウェアエンジニア。1児の父。 酒、ラーメン、サッカー好き。旅行も好きですが、普段は出不精で大抵たまプラーザ界隈に居ます。

Code Igniterでストアドプロシージャを使用するとエラーになる件

Code Igniterでストアドプロシージャを使用すると、 Commands out of sync とエラーが出る為、調査しました。

PHPでXML作成の際のparsing XML declaration: '?>' expectedエラー

PHPでXMLを作っている際に上記のようなXMLエラーが出たので、メモ。 以前も出たことあるのに、メモってなかった…。

CodeIgniterでセッション保持する・しないの振り分け

CodeIgniterでセッションを取り扱うとなるとCookieに自動的に保持されてしまうんですよね。 クライアントからの要望で、ログイン状態を保持する・しないというチェックボックスを付けてくれっていうのがあったので、暫定的に簡素な実装をしてみました。

output_add_rewrite_varを使用し、XHTMLに出力する際の注意

PHPのプログラム側でoutput_add_rewrite_varを使ったら、「&(アンパサンド)」が、XHTMLエラーに引っかかって困った。 その時の対処方があったので、メモ。 ini_set("arg_separator.input", "&"); ini_set("arg_separator.output", "&"); これで、&は、表…

base64_decodeの注意

base64_encodeしたデータをPOSTで渡すと、Base64の「+」記号が勝手にスペースに変換されるもよう。 それで、そのデータをbase64_decodeしてもデータが崩れるという事象が起こってたらしい。これを知らなくて結構ハマった…。$str = base64_decode(str_replace…

send_mailやmb_send_mailでメールが届かない場合

単純にsend_mailでメールを飛ばすだけだと、セキュリティが強めの相手方のメールサーバには、スパムメール扱いされてしまって、メールが届かない場合があったりします。そういった場合は、メール送信側でちゃんと、ヘッダー指定してあげてとのこと。 $header…

PHPでサブドメイン間のクッキー情報受け渡し

サブドメイン間でクッキーの値を受け渡したい場合が有りますが、その時の対処で引っ掛かったので、メモしておきます。割りと処理自体は簡単で、クッキーを読み込む前に以下を指定。 ini_set('session.cookie_domain', ドメイン); // メインとなるドメインを…

自動的にパラメータを付加

PHPでsession.use_trans_sidを有効にすると、セッションのパラメータを自動的に付加してくれたりするけど、それと同じような動きをする関数があるんですね。 PHP output_add_rewrite_var('test', 'val'); HTML <input type="hidden" name="test" value="val" />PHP側で、上記のように書いてあげると、HTML側…

スラッシュの入っていない日付を分割する場合

スラッシュ区切りになっている日付なんかを扱うことは多いのですが、スラッシュで区切られていない「20110606」みたいな日付を区切る場合に便利な関数が有って、何気に知らなかったのでメモ。 list($y, $m, $d) = sscanf("20110606", "%04d%02d%02d"); 他で…

strtotimeを使わずに、1ヶ月とか足す方法

strtotimeを使ってしまうと、月末に1ヶ月足したりすると、その翌月になってしまったりします。 ex:2012/01/31 + 1month ⇒ 2012/03/02その時の為の関数が以下。メモ。 private function calc_date($year, $month, $day, $addMonths) { $month += $addMonths; …

Facebookアプリ作成中のエラー

本日、Facebookアプリを作っていたら、エラーがいくつか出たので、メモ。 PHPで作っていたので、PHPでの例。#100 The privacy param cannot be applied when a target is specified.自分が作ったページのウォールに書き込みを使用とした時に出たエラー。 他…

XAMPP入れて困ったこと

今までXAMPPというものを特別使ったことがなかったので、導入した際に出た問題まとめ。

PHPで曜日の連結

DB内に保存されて日付データを連結するというプログラムが必要になったので、考えてみました。扱うデータは以下の感じ。 0,1,2,3,6 // 日,月,火,水,土 取得する関数は以下のようにしました。 // 曜日名取得関数 function get_day_names($ids) { $day_name = …

GoogleAnalyticsのデータを取得して、トップページなどに人気ページとして表示したい場合

トップページに人気ページの情報を取得して、表示する機会があったので、メモ。「Google Analytics API 」をPHPから便利に使えるクラスライブラリに書いてあるとおり、こちらよりライブラリを取得して、以下のコードで詳細ページの昨日のページビュー数が一…

PHPで文字列を一部省略する

文字を丸めたかったんですが、PHPにこんな関数あったんですね。 $str = "あいうえおかきくけこさしすせそ"; // mb_strimwidth( 文字列, 開始位置, 文字数, 追加文字 [,文字コード] ) $str = mb_strimwidth( $str, 0, 20, "..." ); // あいうえおかきく... ec…

simplexml_load_fileを使ってYouTubeのサムネイルを取得

今回YouTubeのデベロッパーIDを取得して、PEARのライブラリを使わせてもらって、サムネイルを取得しようかと最初は思っていたんだけど、デベロッパーID作ったもののIDが有効でないみたいなエラーが出てしまったので、別方法で取得することにした。デベロッパ…

文字エンコーディングの検出

文字エンコーディングを検出する関数なんてあったんですね。初めて知りました…。使い方は、いたって簡単。 print_r mb_detect_encoding($str); また、配列をエンコーディングする関数ってのもあった。こちらも知らなかった…。 print_r mb_convert_variables(…

IP確認処理

IPのチェックを行うときに便利だったので、メモ。 サブネットマスクを用いたIP確認関数 サブネットマスクを用いたIP確認関数 /** * IPアドレス判定 * @param $check_ip:チェックするIP * @param $ip_addr_list:IPの配列 * @return boolean */ function ip_…

PHPで404エラー表示

404エラーをPHPで表示する。これサイト終了とかしたときに使うのかな? header("Not Found", true, 404); exit;

list関数とeach関数を使って回す

foreachとかと同じなんですが、listとeach使ってvalueだけ取るときのやり方をメモ。 $arr = array('test1', 'test2', 'test3'); while( list(,$val) = each($arr) ) { print $val."<br>"; } これで、valueの値だけ取ってこれる。

defineのキーに変数使用

defineのキーを変数として取得したい場合があったんだけど、そのまま入れたんじゃ取れなかったので、どうすればいいのかなぁと思ってたらconstantとという関数があった。 以下みたいなことがしたかったので紹介。 define("TEXT_MAX", 100); $a= "text"; $val…

必要桁数まで0埋めする

ゼロパディングとかするときに使う。 なんか他にもそんな関数あった気がするけど、とりあえずメモ。 使い方は以下のとおり。 $val = "123"; $val = str_pad($val, 5, "0", STR_PAD_LEFT); print $val // "00123" 第四引数にSTR_PAD_BOTHと指定できるのは面白…

.htaccessでのphp.iniの設定

安いレンタルサーバなどを使っているとphp.iniの設定変更は出来ないことがほとんどなので、.htaccessでちょっとした設定をいじれるということを覚えておくと便利。 最近はインクルードパスを通したりすることが結構多いので、メモ。 書き方は以下のとおり。 …

PHPで多次元配列をソートする

最近はPHPを使う機会が多いので、ちょっと勉強になった便利な関数をメモ。array_multisort多次元配列のキーを自由に変えてソート出来る便利な関数。 どのように便利かというと、結構良くあるのが名前順・価格順・最新日付順とかリンクになってて、それを押す…