先日しばらくぶりにPHP、しかも4を書く機会がありました。
そこで数年前に作ったFirefox用の検索プラグイン(OpenSearch)を使いまして、まだまともに動いていたのでなんとなく公開しておきます。作った、といってもちょちょっとXML書いただけなんですが。
ともあれ、件のコードはPHP4のシステムとさよならするためのものだったので、自分はもう4系を書くことはないと思います。かといって5系を書くかどうかは別の話ですが。
しかしまぁ、まだ現役で動いている4系が居たりするのでしょうね。たぶん。
OpenSearchプラグイン
正しくは大きなファイルがアップロードできなかった。
PHP ファイルのアップロードエラー解決方法
PHP のファイルアップロード実装で、つまずきそうな部分をまとめてました。
しっかりつまずきました!ありがとうございます!
【PHP TIPS】 27. Smarty内でPHP関数を使う:ITpro
上記のように引数を持つ場合はSmarty変数が第1引数となり、第2引数以降は:で 区切って渡します。 このような使い方にはあまり遭遇しないと思いますが、頭の隅に入れておけば必 ず役に立つ日がきます!
まことに不本意ながら役に立つ日がきたわけですが、この「パイプを通ってきたものは自動的に第1引数になる」ってのがくせ者で。
str_replace("b", "z", $hoge);
ってやりたくて、
{$hoge|str_replace:"b":"z"}
ってすると、
str_replace($hoge, "b", "z");
ってことになる。
なんだこのqあwせdrftgyふじこlp;って思ってたら、エンゲル係数が高いことで有名なkjirouさんにこんなコメントを賜りました。
{“b”|str_replace:”z”:$hoge} はしたくない的な?
あーその発想は(ry
できました。感覚的にはパイプを通るのはリテラルじゃなくて変数であって欲しいんだけども。
・・・これはおれの頭が固いってことなんだろうか。
サクッとGETしたいときに使いまくっているfile_get_contents()ですが、最近使い始めたステキなWebホスティングサービスのDreamHostでこんなことを言われました。
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in ...
はぁーン!?
・・・ついカッとなって実装した。GETできればなんでも良かった。いまは反省している。
詳細は以下の通り。
続きを読む…
Hypertext Transfer Protocol — HTTP/1.1
HTTP/1.1 defines the “close” connection option for the sender to signal that the connection will be closed after completion of the response. For example,
Connection: close
in either the request or the response header fields indicates that the connection SHOULD NOT be considered `persistent’ (section 8.1) after the current request/response is complete.
サクッとGETしたいときはもっぱらfile_get_contents()を使っているわけですが、HTTP/1.1では明示しないとコネクションをすぐに切られない件について話をしていて、そういえばこいつはどんなヘッダを投げているんだろうと気になったので調べてみました。
$ php -r 'file_get_contents("http://saikyoline.jp/");'
で、これ。
GET / HTTP/1.0\r\n
Host: saikyoline.jp\r\n
\r\n
なんてシンプルなんだ。そしてHTTP/1.0だ。
Zephyr – AJAX Based MVC Framework for PHP5 Developers
zephyr is an ajax based framework for php5 developers. you can easily develop business applications using this robust framework.
[via] Ajaxian » Zephyr: Ajax MVC Framework for PHP – http://ajaxian.com/archives/zephyr-ajax-mvc-framework-for-php
「smarty」と「adoDB」そして「prototype」。それと「CPAINT」っての初めて知ったんですが
CPAINT :: home
CPAINT (Cross-Platform Asynchronous INterface Toolkit) is a multi-language toolkit that helps web developers design and implement AJAX web applications with ease and flexibility.
ですと。
定義ファイルはXMLなんですな。YAMLやらJSONやらのご時世ですが。
で、ちょいと使ってみるか、と思ったら、coLinuxにPHP入ってねぇやと気がつく。またあらためて。
hoshikuzu | star_dust の書斎
PHPでは、一部のマルチバイトエンコーディングにおいて、addslashes()を使っているとSQLインジェクションが発生しかねないよ、はてどうしましょう、というお話。
現役稼働中のShift_JISで書かれているコードでコレに出会ってしまったら・・・。
それが他の部分の改修のためにさわったコードだったりして・・・以下略。
yohgaki’s blog – 改訂版PHPポケットリファレンス
最新版PHPバージョンのPHP4.4, PHP5.1にもadhoc対応しています。
賛否両論のサンプルスクリプトは健在ですが、ページ数の関係で言語仕様の概要を削除する事になりました。機能が増えたので言語仕様の解説を削除してもページ数は約100ページ増えています。紙の厚さが薄くなったのでページ数が増えても厚さは増していません。
いつもデスクに置いてるPHPポケットリファレンスが改訂されました。
「~したい」な逆引きメインなので、これってPHPでどうやるんだ的なシチュエーションに遭遇したときにけっこう助けてもらってます。とりあえず・・・。
$wants[] = "PHPポケリ";
p0t: Mojavi Japanオープン
Mojavi Japanオープンしました!
PHPのフレームワークならとりあえずコレでしょ的なMojaviですが、p0tのkomagataさんによって日本語のまとめページ的なものがオープンされたので早速ユーザ登録しました。
お世話になるマス。