ホーム > タグ > php

php

mb正規表現

全角カタカナ判断したい場合の正規表現。

//
mb_ereg("^[ァ-ヶー]+$", $str);
//

ただし、 mb_regex_encodingmb_internal_encoding で、文字エンコードを指定しとかないと動かない場合あり。

qdmail.php検証

メール送信のライブラリ見つけました。

設定は、
qdmail.phpを読み込んで、
qd_send_mail($type , $to , $subject , $body , $from); 以上です。

$typeには、
‘text’、’html’、’deco’
のどれかが入り、普通にテキストメールを送るなら’text’を指定する。

$toは送信先メアドを入れる

$subjectはメールのタイトル

$bodyは本文

$fromには送信者

基本こんだけ。
もっといろいろできるっぽいけど未検証。

配布元:http://hal456.net/

magic_quotes_gpcという設定から得たもの

今更な内容を知ったのでメモ。

php.iniの設定で、magic_quotes_gpcというのがあるらしい。
これが、Onになってると、デフォルトで、「’」や「”」や「\」などを、エスケープしてしまう。

これを回避するには、php.iniの設定をOffにしてやるか、
やってないけど、.htaccessで、 php_flag magic_quotes_gpc Off の設定をする。
若しくは、stripcslashes関数か、stripslashes関数を使用し、エスケープを元に戻す必要がある。

あと、php.iniの設定を、phpinfo()で見れない場合にも設定を見れる関数群を発見。

  • ini_get
  • get_include_path()
  • get_magic_quotes_gpc()
  • get_magic_quotes_runtime()

等。

class.upload.php検証

画像のアップロードに便利そうな、phpライブラリを見つけたので、検証メモ。

とりあえず、formの enctype=”multipart/form-data”は必須。(2度これでひっかかったので)

そして基本構文。

$handle = new Upload($_FILES["hoge"]);  //インスタンス生成、引数には$_FILES
$upload_dir = "./tmp/";             //アップロードディレクトリ指定
$handle->Process($upload_dir);       //画像アップロード実行

最低限、これでアップロードできます。

以下オプション。

Continue reading

CacheLiteのオプション項目メモ

$options = array(
    'cacheDir' => './temp/', //キャッシュファイルを作成するディレクトリ
    'caching' => 'True', //キャッシュを有効/無効 True False
    'lifeTime' => '600', //キャッシュ有効時間(秒)
    'fileLocking' => 'True', //ファイルロックの有効/無効
    'writeControl' => 'True', //書き込み制御の有効/無効 有効だと多少重くなる
    'readControl' => 'True', //読み込み制御の有/無 制御キーがファイルに埋め込まれ比較
    'readControlType' => 'crc32', //「md5」「crc32」「strlen」 良遅>悪早 順
    'automaticSerialization' => 'False', //自動シリアライズ 有/無 文字列以外のデータならTrue
    'hashedDirectoryLevel' => '0', //キャッシュを保存するディレクトリの階層数。0 はディレクトリを作成しない。
    'automaticCleaningFactor' => '0', //自動クリーニング 0はキャッシュ削除しない 1は削除する 「X>1」 X=整数でランダム削除
    'pearErrorMode' => 'CACHE_LITE_ERROR_RETURN' //「_RETURN」=エラーを返す 「_DIE」=スクリプト即時停止
);

phpでページャー実装

ページャーのクラスを作ったのでメモ。

Continue reading

利用頻度が高そうな正規表現たち

//郵便番号:
preg_match("/^\d{3}\-\d{4}$/",$hoge);
//電話番号:
if (!preg_match("/^\d{2}\-\d{4}\-\d{4}$/",$hoge) && !preg_match("/^\d{3}\-\d{3}\-\d{4}$/",$hoge) && !preg_match("/^\d{4}\-\d{2}\-\d{4}$/",$hoge)){
$error_mes[] = "電話番号の入力が不正です";
}
//メアド:
preg_match("/^[a-zA-Z0-9_\.\-]+?@[A-Za-z0-9_\.\-]+$/",$hoge);
参考サイト: http://phpspot.net/php/pg%90%B3%8BK%95%5C%8C%BB%81F%83%81%81%5B%83%8B%83A%83h%83%8C%83X%82%A9%82%C7%82%A4%82%A9%92%B2%82%D7%82%E9.html http://catbot.net/blog/2007/06/re_php.html

phpでカレンダーを作りました

カレンダーを作ったので、メモ。

まず、表示したい月を決めます。
たとえば、現在の月を表示したいなら、

$nowts = time();

という、現在のタイムスタンプを格納する変数をつくる。
これを起点日とします。
今日以前は表示したくないカレンダーを作りたかったので、
この変数を基準に必要なパラメータを出していきます。

  • $stweek = date(“w”,$nowts);//起点日の曜日番号
  • $stday = date(“j”,$nowts);//起点日
  • $edday = date(“t”,$nowts);//起点日の月の最終日

まず、$nowts の月の残り日数を計算します。

$nokori = $edday-($stday-1);

起点日から-1をしないと引きすぎてしまいます。
ここに、$stweekを足します。
カレンダーは週単位で計算しないといけないので、起点日の週の既に終わった日も プラスしてあげないといけません。
なので、

$nokori += $stweek;

これをさらに、週の日数である、7で割り、切り上げます。
そうすると、計算すべき週数が出ます。

$nokori = ceil($nokori/7);

これで、必要なパラメータが揃いました。
これを処理して、smartyのテンプレートで表示したいので、加工しやすいように 配列を作ります。

Continue reading

strtotime関数の挙動

strtotime関数で、?後のタイムスタンプを取得したい場合、 引数に入る値によって動きが変わります。

例えば、 $daystr = “20080929060000″; と、 $dayts = “1222635600″;

という、日付を文字列で羅列しただけの、$daystrと、 それを、タイムスタンプにした、$daytsを使います。

$daystr を使う場合は、 $ts = strtotime($daystr.”+4 week”);

と、第一引数のみで文字列結合させて動かします。

$daytsの場合は、 $ts = strtotime(“+4 week”,$dayts);

というふうに、第二引数にターゲットとなる値を入れます。

xamppでのphp.ini

phpで、xmlをDOMで制御する場合、xamppでの設定をメモ。

xamppには、c:\xampp\php\にもphp.iniがあるが、 C:\xampp\apache\bin\にもphp.iniがあり、こちらの設定をいじらないと反映されない。

そこの、php_domxml.dll をコメントアウトしたらうまくいった。

charsetを変えた時は、どっちいじったか忘れました。

Home > Tags > php

Search
Banner

Feeds
Meta

Return to page top