PHP

タイムスタンプと日付(日時)の相互変換

日時→タイムスタンプ

5.3.0よりsqlite3クラスが実装されたんですね^^^^^^^^^^^^^^

PHP

自作ライブラリにもSqlite3クラスがあって、なぜか上手くSqliteに接続できないと思ったらそういうことだった。 名前衝突バロスwwwwwwwwwwww どうすんだよ…

1分前の日時

設定オプションメモ

.htaccess AddHandler cgi-script htaccess php_flag register_globals Off php_flag magic_quotes_gpc Off PCサイト

json_encode()やjson_decode()が使えない環境でjson配列の変換をする

PHP

解説 http://ryus.co.jp/modules/d3blog/details.php?bid=13 ソース http://coderepos.org/share/changeset/10410 なんという神プログラム・・・ ソースを見ただけでワクワクしてしまった このプログラムは間違いなくPHP4でも5でも動く / ̄\ | ^o^ | \…

権限のないファイルやディレクトリを強制的に消す

スクリプトで生成されたファイルをFTPソフトから削除する場合、権限の関係で消せない場合があるが、強制的に消す方法を教えてもらった。

Ajax経由での検索システム作ったらエンターキー押下で検索できなかったでござるの巻

・テキストボックスと検索ボタンがある ・検索ボタン押下でテキストボックスの内容をAjaxでPHPに飛ばして検索 ・PHPが取得した検索結果をJavaScriptで表示 このような検索システムの場合、テキストボックスの内容をPOSTやGETで送信する必要がないので、form…

XServerにPECLモジュールをインストールしようとしたら無限ループでござるの巻

PHP

1.シェルコマンドでインストールしようとしたらSSHが使えない 2.ならGo-Pearだな! 3.Go-Pearインストール完了おkkkkkkkkkk 4.jsonモジュールで検索おkkkkkk 5.phpizeがない・・・だと・・・? 6.ルート権限で入れないから無理…

XServerでは.htaccessでregister_globals等の値が設定できない

公式サイトサポートには.htaccessは使用できるとあるが、これはあくまでBasic認証等に使用できるというだけで、register_globals等の値が設定できない。 流石XServer!爆釣りだな! 勿論代わりの方法はあって、.htaccessの変わりにphp.iniを使う。 register_…

IE6とWindowsサーバでheader("Location:hoge.php");するとエラーになる

これだとエラー。

swetake.comさんのプログラムでQRコードを作る時、URLが&を含んでいたら注意

変数$qrがhttp://www.hoge.com/index.php?a=1&b=2の場合+Smarty <img src="qr_img/php/qr_img.php?d={$qr}&t=P&s=2" alt="QRコード" /> 出来上がるQRコードのurlはhttp://www.hoge.com/index.php?a=12となる。 ($qr中の&以後がqr_img.phpへのパラメータと認識されるから) 解決方法はSmartyに渡す前に

変数名に変数を使う

php

半角・全角スペースとタブが含まれているかチェック

TinyMCEのゴミの入った改行タグを綺麗にする

WYSIWYGのTinyMCEから変な改行タグ「<br mce_bogus="1">」が送られてくるので綺麗にする。 /is', '<br />', $str);

プラグインを入れるディレクトリを変更する

デフォルトではSMARTY_DIR以下の「/plugins」になっているけれど、自作プラグインもそこに突っ込むと分けわかんなくなるので、別にフォルダ作って分けちゃおうよ!みたいな。 Smarty_baseクラスを継承したクラス内で plugins_dir = array ( 'hoge/mupplugins…

docomo端末でリダイレクト時に「サイトが移動しました(301)」を表示させないheaderの書き方

breakに引数を指定すると多重ループを抜けることができる

PHP

知らなかった。目から鱗。あばばばばばばばば

マルチバイトの正規表現置換

preg_replace()でマルチバイトを置換する場合、パターン修飾子'u'を設定する必要がある。 ただしutf-8でなければダメらしい。 それ以外の文字コードは素直にmb_ereg_replace()を使いましょう。 preg_match()でも同じ。

プログラムからPOSTする

PHP

PEARのHTTP_Requestを使ってフォームを介さずにPOSTデータを送信するサンプル。*1 hoge.php(データ送信側) setUrl('http://hoge.com/'); $o_http->setMethod(HTTP_REQUEST_METHOD_POST); $o_http->addPostData('a', 'A'); $o_http->addP…

正規表現で海外からのスパムメール対策をしてみる

マルチバイト文字が含まれていない場合のみスパムメールと判断。 ついでに全角スペースも入れてみました!

順列を生成するPHPプログラムを書いてみたよ!

PHP

Math_Permutation.class.php arrayResultを","で分解した二次元配列 private $arrayR…

COOLなfor文

PHP

ループ回数をfor(ここで指定;;)とかナウい! 昔見たのに華麗にスルーしていたので備忘録として。 俺1.0

二次元配列のソート。追記:複数項目でのソート

PHP

'リンゴ', 'price' => '100', 'order' => 4); $array[] = array('name' => 'ミカン', 'price' => '60', 'order' => 3); $array[] = array('name' => 'バナナ', 'price' => '100', 'order' => 2); $array[] = array('name' => 'メロン', 'price' => '5000', …

整数の桁で切り上げてみる

PHP

123の整数弟一位を切り上げて130にするソース。*1 10は一の位を切り上げて十の位に丸めるため。 100を入れれば100の位に丸めます。

文字列の分割について

PHP

例えば「2009-01-14」の様な文字列をハイフンで分割する場合、英語の意味的になんとなくsplit()やmb_splitを使いたくなるが、explode()を使おうというお話。*1 split() 正規表現で分割 mb_split split()のマルチバイト対応版 explode 特定の文字列で分割 も…

画像ボタンでsubmitするとnameが飛んだり飛ばなかったりする件

<input type="image" name="submit" src="hoge.gif" value="送信" /> この様な画像submitボタンを押下した場合、どのようなパラメータがPOSTとして渡されるか。 print_r($_POST)で調べてみると、 Firefox3、Safari3(Windows) 10 [submit_y] => 10 [submit] => 送信 ) 対してIE6と7は 10 [submit_y] => 10 ) となり、[submi…

カスタムメールフォーム完成

という訳で色んなサーバに乗せて動作確認していたら、添付ファイルのない普通のメールはOKだったもののの、添付ファイルを付けると動かないサーバがあった。 sendmailのパスも問題がなく、一時間程悩みました。 どうやらPHPがセーフモードで動いているのが問…

配列の最初の要素の値を取得

PHP

ついでに。 $array[0]でおk?えっ、聞こえない

配列の最後の要素の値を取得

PHP

注意 endの第一引数の渡し方が実態参照の為、この記法だとエラーが出る。 次に書いたreset()についても同じ。

XAMPPでメールを送信する際の設定(WAMP)

PHP

C:\xampp\apache\bin\php.iniを編集 [mail function] ; For Win32 only. SMTP = SMTPサーバ名 smtp_port = 25 ; For Win32 only. ;sendmail_from = SMTPサーバと関連付いている自分のアドレス最後にapacheを再起動して完了。