PHP

dec64(和名:でじこん)

数字列をURLで扱える形で変換する関数群です。 base64エンコードの数字入力限定版というとわかりやすいかも。base64というと非ASCII文字列をASCII文字に変換する用途に使われますが、 このエンコードでは数字列を短縮化するのが目的です。使用例 encode($src…

Sajax+PHPセッション

PHPセッション機能を利用するにはCookieかGETクエリ文字列でセッションIDを渡さないといけない。 しかしSajaxのAjax通信部分ではHTTPヘッダを追加できないのでセッションを利用できない。 仕方ないのでSajax自体を書き換えることにした。 function sajax_get…

postgresql8.3.12,phpPgAdmin5.0という環境で一般ユーザーがデータベースを作ってスキーマを見ると ERROR: permission denied for relation pg_authid と言われてテーブルのリストを見ることができない。 一般ユーザがpg_authidを見ることができないのは当然…

PEAR::Mailの認証方式

PEAR::Mailのオブジェクト作成時に、Mail::factory('smtp',array('auth'=>'true')); とするとSMTP認証を行うことができるが、認証方式は自動的に決定されてしまう。これが不都合な場合、'auth'=>'LOGIN'のように認証方式を直接記入することで明示的に選択で…

PDO+MySQLは面倒である

Apache+PHP+PDO+Postgresqlの場合DSNにユーザ名を書いておきそれが .pgpassに一致する接続設定がある場合パスワードを読んでくれるのでDSNさえ書けば $pgsql_connect= new PDO($dsn) これだけですむ。mysqlの場合DSNにユーザ名をかけないしどうやら.my.cnfは…

libssh2の罠

PHP

PHPでsshを使ったファイル転送をしようとしてハマる。エラーを検索してたどりついたのがここ http://www.flatz.jp/archives/317 LIBSSH2_APINO was removed from the public header fileなんて書かれていて、0.16以降のlibssh2ではコンパイルできないのでは…

var_dump()の結果をファイルに書きたいこともあるよね だからob_*()

PHP

var_dump()などは変数の内容を確認するとき便利なんだけど cronや.qmailで自動実行するような場合出力を確認できないので、 ob_start()等を使ってファイルに打ち出すようにすると便利なんだけど いざ書こうとすると結構面倒なのでテンプレート的に備忘録。 …

PHP5.2.6リリース

PHP

5/1にリリースしてたらしい。気づかなかった。 ダウンロードしてみる・・・遅い。ファイルサイズがやたらでかい。手元にある5.2.1は8.8MBだが今回は12MB以上に。 同じ5.2系でこの違い。一体何が入ってるんだろう。

PHP+Smartyの開発で、変数をarrayにしてSmartyに送るためだけの秀丸マクロ

PHP

マクロ if ( selecting == 0 ) endmacro; setcompatiblemode 15; replaceall "^([\t ]*)(.*)$" , "\\1'\\2'=>$\\2," , regular, nocasesense, inselect; if( ! result ) beep; 使い方 $var=array( foo bar baz ); $Smarty->assign($var); $smarty->display($…

文字列を1字ずつ配列へ

例えば、$str="abcde"という文字列を$var[0]='a'; $var[1]='b'; .... と切りたいときの方法。$var=preg_split("//",$str);残念ながら $var[0]=''; $var[1]='a'; $var[2]='b';と余分なものが入ってしまったがなんとか成功かな。 まあ理屈上この結果は非常に怪…

Dateヘッダの書式

メール送信時に使うDate:ヘッダをPHPで書く date("D, d M Y H:i:s O"); // 現在時刻を使う場合

小町算解析プログラム

PHP

このスレ見て思い立った。 123456789+-*/()使って自分のレス番号を表せ http://science4.2ch.net/test/read.cgi/math/1153608616/ 演習1 1〜9の数字を順に使って 任意の数値になる式を探そう、というプログラムを作ろう。作りかけの上なんかコードきた…

PgSQLで配列変数

Postgresで配列変数を使えるのはいいけど、PHPでselectして読んでもarrayにはならない。DATABASE=> select hoge from fuga; hoge - {foo,bar}これをpg_query()で読むと"{foo,bar}"という文字列になる。 特定の要素を取得するときは select hoge[1] from fuga…

自然対数って。

log(n)の小数点部分の分布について調べたいと思い、PHPで統計をとってみました。 下記のコードは、log(n)[n=1〜99999999]の小数点1〜3桁を整数として取り出し、 それぞれの出現回数を表示するものです。結果なんか偏ったりするのかなと予想はしていたので…

phpPgAdmin

php

Version3.*は良かったのに、4になってから少々使いづらくなった感がある。アクセス中に動画アイコンが表示されるので、これのせいで遅くなってる気がする。 ツリーのテーブル一覧で、カラムリストとテーブルリストのリンクが分かれていたのに これがカラムリ…

配列やオブジェクト変数をHTMLに書き出す関数

var_dumpやprint_rは読みづらいから作ってみました。 >と表示されるのはオブジェクト変数 function read_array($arr) { if (is_array($arr)) { echo "<dl>"; foreach($arr as $n=>$v) { echo "<dt>$n</dt>"; echo "<dd>"; read_array($v); echo "</dd>"; } echo "</dl>"; } elseif (is_o…