maki-o memo

制作に関する私的なメモです

選択されているタグ : php

タグを絞り込む : a-blog_cms CMS PEAR smarty tips Touchモジュール xampp さくらインターネット カスタマイズ ライブラリ ロジック 正規表現 設定

class.upload.php検証

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

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

そして基本構文。

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

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

以下オプション。


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でページャー実装

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


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

//郵便番号:
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のテンプレートで表示したいので、加工しやすいように 配列を作ります。


プロフィール

フロントエンドエンジニア

Tomokazu Makita

名古屋でフリーランスでWeb制作してます。 フロントエンドのことを主にやってます。
a-blog cmsを使用したサイト制作が得意です。
お仕事のご相談随時受付中。

雪山大すき。冬は雪山の合間に仕事します。
財布はいつも吹雪です。

エントリーリスト

タグ