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

tohokuaikiのチラシの裏

技術的ネタとか。

Confluenceのプラグイン開発を承ります。ご連絡はこちらのホームページからお願いいたします。

興味のある言語にSSIと書いておいたら面接で爆笑された

php

extends http://d.hatena.ne.jp/moriyoshi/20100204/1265242273 PHPエンジニアを募集してるSNSを運営してる会社の採用面接を受けた時の話。転職エージェントに作れと言われて作ったシートに、「興味のある技術/言語」という欄があったんです。 CSS/HTML/Flas…

JanRain OpenID Libraryでgoogle OpenIDからGmailのデータをいただく。

php

examples/consumer/try_auth.php のコードにはなかったAXでやってみる。GoogleはAttribute eXchangeでgmailが得られるらしいので。ちなみに、JanRainは、define('Auth_OpenID_VERSION', '2.1.2'); です。 try_auth.php 23行目らへんから begin($openid); + r…

mb_convert_variableにハマる。

php

mb_convert_variableを通した後は、配列のポインタが無くなるようです。つまり、 '固定長フィールド', 'bar' => 'CSVファイル', 'baz' => 'コンピュータ', ); var_dump(key($array)); // => foo mb_convert_variables("SJIS", "UTF-8", $array); var_dump(k…

PEAR Archive_Tarのエラー出力

php

なんでかしらんけど、extract()でエラー。こうすれば、エラーが画面に出る。つか、PEARの基本的な使い方だけどいまだに全くその辺のPEARの使い方を知らなかったのは内緒。 extract($target_dir);

添付メールの自動処理をPHP噛ませてやらせたら、PipeでつないでuudeviewにやらせるよりPHPでデコードした方が速かった件

php

昨日の続き。Propmailでメールの添付ファイルを自動処理させたいんだけど、添付されたファイルをデコードするのにPHPでやった方がいいか、uudeviewという外部システムを使ったやった方が良いかっていう。 とりあえず、PHPのみで完結させる場合 PHPでやる場合…

fwriteでPHPが落ちる?エラーログなし・・・

php

ハマり中。メールの自動処理をEthnaのCLIでやろうとして、procmailにて引っかけたんだけど、どーも動かない。ErrorログはFILEで取ってるんだけど、これが出ない。ていうか、procmailを通さないでフツーにPHP-CLIで動作させたら何の問題もなく。 引っかかるの…

配列をある配列で一部分だけ上書きしたい場合

php

ある設定配列$configがあるとして、携帯用に$mobile_configってのがあって、だけどその$mobile_configには、$configとの「差分だけ」を書きたいって場合。 array( 'news' => 10, 'article' =>10, 'member' => 10, ) 'dsn' => 'mysql://hoge:hoge@localhost'…

PHPのvar_exportが便利ですごすぎる。

php

PHPには、コード中で使ってる配列を文字列にしてくれるvar_exportという関数があります。これ、その場でechoしちゃうんでob_*使わないとアレなんですが、便利です。何が便利かって、他の人がライブラリ的に作ってくれた長々とした配列で、自分の欲しいところ…

Oracleドライバを入れる

php

CentOS5で。ExpressEdition(Oracle Database 10g Release 2 (10.2.0.1))は、OracleのサイトでRPMで提供されているのでサクッとrpm -ivhでインストール。PHPで使うので、Peclのoci8ドライバを入れる。その前に、 http://www.oracle.com/technology/software…

PHPでエラー抑制演算子@を正当に使ってるなぁと思ったケース

php

私も以前はエラー抑制演算子@は悪だと思っていた時期がありました。PHP プログラマが "@" を使うべきでない 5 つの理由 - 肉とビールとパンケーキ by @sotarok によると、以下の理由で@は使うべきではないそうです。 エラーが発生する理由がわからない @を…

PHPをモジュール版で動いてるところにpcntl拡張を使いたくてCGIでも動かそうとしたら、結構大変であわゎとなった

php

なんでCGI版でPHPを動かそうとしたかというと・・・ 今どき、PHPをCGIでもモジュール版でもどっちでも動くようなスクリプトを書けよって感じで開発環境による違いを意識したことは無かったんだけど、d:id:minahito_carpの日記になぜ私たちはRuby版XOOPS Cube…

Smartyでは配列のキーにハイフン(-)が入っているとアクセスできない・・・

php

マジですか!なんかハマってしまった。要するに assign('app', array ( 'hoge-uki' => 123456, )); $smarty->display('smarty_test.html'); で、 smarty_test.htmlに {$app.hoge-uki|intval} ってしても、0って出るんです。google: smarty 配列 キー ハイフ…

いまさら知らなかったPHPのincludeの返り値

php

include_onceの返り値は、昔調べた。 $var = include_once 'hoge.php'; とした時、$varがint(1):読み込み成功 bool(false):読み込み失敗 bool(true):既に読み込んでいる なんだけど、includeの返り値っていうか、includeってstatementだったっけ。まぁ、GIJO…

I.E.はSSL領域でダウンロードするときに注意

php

PHPでファイルのダウンローダを作ってて、ローカルではO.K。Safari/FF/Operaもそれぞれに場合分けしてHeaderを作って・・・・本番環境で動かない・・・・。ダウンロードができない。変なアラート開く。しかも、I.Eだけ。これ、Safariだけとかなら無視しよう…

OpnePNE2のソースコードを読んでみる。(その1)

php

というわけで、OpenPNE2のコード読み。手を入れるかも知れないし。んー、Mojaviベースだよなー・・・・と思いながら、Mojaviディレクトリを探したけど無い・・・・。あ、MojaviはLGPLなんで、OpenPNEをPHPライセンスにする時に衝突回避のためになくしたのか…

OpenPNEをちょ〜っと見てみました。

php

SNSで〜っていう案件の打診があって、改造もっていうのでOpenPNEを初めて見てみました。昔はMojaviベースだったよね。で、今Version3のBetaが出てて、これがSymfonyベースでできてるみたい。これは期待!・・・・と、coLinuxにSymfonyをインストールしようと…

PHP初心者でも簡単!WordPressのプラグイン作成方法

php

WordPressをちょっと弄る機会がありました。その機会にプラグインを作ったのですが、これが結構簡単・・・・というか「すげー」*1って感じだったのでメモします。以前は、XOOPSのうぇブログを使っていたブログを、年末にWordPressにSwapするお手伝いをしたの…

#FFFFFF を 255,255,255に変えるPHP関数

php

ただの自分用備忘録

160行+.htaccessで動かすイベント合わせPHPスクリプト

php

50行PHPスクリプト1枚 だけ で動かす超シンプルチャット - 肉とビールとパンケーキ by @sotarok ってあったので、半年前作って*1忘れてたのをアップ。ポイントってほどでもないが携帯対応。ただ、mod_rewriteを使うので.htaccessも必要。なんでこんな仕様に…

CakePHPがダウンロードできないPHP開発者からCakePHP.jpの中の人へ提案

php

GoogleでCakePHPって検索すると、CakePHP Japanユーザーグループがトップに来る。 google:cakePHP別にそれはいいんだけど、ソースコードをどこから手に入れて良いかわからない。よくみると、「リンク集」ってところにCakePHP.org サイトへ/Ajax Samplesって…

header:Location と Cookieを同時に出そうとしてはまる

php

なんでだろう?PHP5.2では問題なかったのに。。。 PHP5.1で大はまりこいてしまった。

「お」っていうPHPの書き方

php

ワンライナー PHPの思想と言語表現 - Lism.in * blog - nekoya (id:studio-m) どちらが優れているということではなく、ましてや「PHPは初心者向けの言語」という話でもありません。純粋に思想の違いです。 確かに。たとえば、 1000000)break;(int)$s;}'…

まぁ、プログラミングは慣れとか知ってるだけの問題が大きいとは思いますが

php

なんか、本文より引用の方が長くなっちゃって恐縮だけど。 第3回PHP懇親会に行ってきた - Lism.in * blog - nekoya (id:studio-m) 僕は最近はQIQを導入していて、PHPでも $items = [ 'apple', 'banana', 'orange' ]; てな感じで配列を書いてるんですが、これ…

正規表現は重い

php

PHPのPCRE系の正規表現において、 複雑な正規表現 >>>> シンプルな正規表現 みたいで、もし複雑な正規表現にするか、単純にforeachで回した方がいいか迷ったらforeachの方がいいかもしれない。

DBに入れる文字列が決まってるケースの場合に、enumはほとんど使わない

php

外部テーブル、enum、varcharとか | 眠る開発屋blog 例えば、あるテーブルで状態(status)を扱うとして、”sleep”、”runnning”、”ready”の3つの状態をがある場合、以下の3パターンが考えられる。 外部テーブルとして マスタstatus を準備し、元のテーブルに…

Webdavで、PHPがParseされてしまって困ったメモ

php

PHPを使ってるサーバで、WebdavからはPHP使えないようにしないといけない。 Parseされたものがかえってきてしまうから。 で、前はDebian使ってて単純にシンボリックリンクをはって、 <Directory /home/webdav/share> Forcetype text/plain </Directory> みたいにしてたんだけど、CentOSだとなんかうまく…

WordPressとか何でもいいけど、要はバージョンアップが問題なわけで。

http://p0t.jp/archives/2008/07/wordpressweb.html オープンソースをちょっとカスタマイズとか出来ると楽できていいですよね。 確かに、ソースコード見えると自分の気に食わないところとかちょいちょいと修正してしまえていいですよね。 作者はとにかく「サ…

何のためのプログラミングか?

* php

何のための? そろそろ「プログラミングを学びたい」について書くか - 西尾泰和のはてなダイアリー 最近「特に何か作りたいものがあるわけじゃないけど、プログラミングを学びたい!」という人を何人かみかけました。 最近でも何でもないんだけど、私は「○○…

PHP4のObjectのプロパティがいまいち予想通りに動いてくれない件

php *

論より証拠で、サンプルコード id = mt_rand(); } return $obj; } function append_prop($key, $value) { if (!isset($this->prop[$key])){ $this->prop[$key] = $value; } } } $obj =…

アホになってPHPを素のまま使ってみたら、意外とテンプレートとして使えた件

php *

昔、PHP(を通してプログラム全体)を学び始めたころ if 〜 endif とか foreach 〜 endforeach とか、なんぞーそれ使わねー とか思っていた時期が私にもありました。(というかついさっきまで) 逆に、プログラムを知ってる人がPHP学ぶとハタさんのブログ(復…

MediaWikiのifExistsではまる

* php

MediaWikiの基本的な拡張パーサに:ParserFunctionsってのがあるんだけど、これがどうも動かない。SVNのRevision 35157 のParserFunctions.phpなんだけど、 getNamespace() == NS_MEDIA ) { ... .zip .…

preg_replaceのe修飾子の挙動と後方参照

* php

http://d.hatena.ne.jp/teracc/20080606#20080606fn1 preg_replace関数にe修飾子が付く場合、後方参照する変数に含まれる「"」などの文字は、PHPにより自動でaddslashesされるからです*1。 昔から、よくわからなかったのが、preg_replaceで後方参照する時に…

PHPで未定義値を評価したりすることはないなぁ

* php

論点変わっているよ - よくきたはてダ 「変数の値がnull」かどうか調べるという話と未定義変数を混ぜると論点が変わるんじゃないでしょうか? 変数が未定義だと結果的にvar_dump()とか値の評価とかしたときにNULLになるだけってことですからね。ちなみに、emp…

continueで抜けるもの

php *

PHP使ってて、こんなことも知らなかった・・・・。 continueって、foreach とかforのループ系だけじゃなくて、switchも抜けるんだ・・・・・。switch+breakって良く使うけど、swtich+continueって使ったこと無かったから知らなかった。