PHPで日付の妥当性チェックをする際に、checkdate関数をよく使うのですが、
マニュアルをよくよく見ると・・・

「年は 1 から 32767 の間となります。 」と。。。

で、気になったわけです。


[テキストボックス]年[テキストボックス]月[テキストボックス]日

という見た目の入力項目で、年のテキストボックスに西暦の下2桁を入れた場合どうなるのか。
試しに「78」と入力してみると、みごと日付は妥当だと判断されるんですね。

で、そのままmysqlでdate型になっているカラムにインサートしちゃうとどうなるかというと。。。
そこは補完が効いて「1978」年で登録されると。
「08」と入力するとDBでは2008年で登録されると。

境目は「69」と「70」のところにあって、
「69」⇒「2069」
「70」⇒「1970」
と補完されました。

この境目については、epoch前とepoch後というWassrメッセージを頂いているのですが、ここでは割愛・・・

結局、年の部分に4桁のチェックは必要だなぁ。と、思った次第です。
あと、テキストボックスの場合は、左側に「西暦」とか表示してあげるとわかりやすいと思いました。

以上、メモ書きでした。

Comments コメントなし »

Wassrで流れている発言のなかから、きになった。
コレ⇒http://9arrows.com/

Comments コメントなし »

苦労したのでメモ。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$Url = 'http://ほげほげー.com/ほげー/ほげー.php';
$UserId = 'ユーザID';
$Pwd = 'パスワード';
$binaryData = @file_get_contents(’ファイル名’, FILE_BINARY);
 
$arrUrl = parse_url($Url);
$host = $arrUrl["host"];
$path = $arrUrl["path"];
$port = isset($arrUrl["port"]) ? $arrUrl["port"] : 80;
$socket = @stream_socket_client('tcp://' . $host . ':' . $port);
$strHeader = "POST " . $path . " HTTP/1.1\r\n" .
             "Host: " . $host . "\r\n" .
             "Content-type: application/jpeg\r\n" .
             "Authorization: Basic " . base64_encode($UserId . ":" . $Pwd) . "\r\n" .
             "Content-length: " . $entity->size . "\r\n" .
             "\r\n";
@fwrite($socket, $strHeader . $binaryData . "\r\n");
while ($buff = @fread($socket)) {
    $response .= $buff;
}
@fclose($socket);

ちなみにZendFrameworkのライブラリにZend_Httpという便利なものがあります!!!
Zend_Httpなら、下記のように書くだけ!

1
2
3
4
5
6
7
8
9
10
11
require_once 'Zend/Http/Client.php';
 
$Url = 'http://ほげほげー.com/ほげー/ほげー.php';
$UserId = 'ユーザID';
$Pwd = 'パスワード';
$binaryData = @file_get_contents(’ファイル名’, FILE_BINARY);
 
$client = new Zend_Http_Client();
$client->setUri($Url);
$client->setAuth($UserId, $Pwd, Zend_Http_Client::AUTH_BASIC);
$client->setRawData($binaryData, 'application/jpeg')->request('POST');

Comments コメントなし »

Vista+xamppで、Gallery2のモジュールのひな形を作るメモだったりします。

[スタート]⇒[コンピュータ]を右クリック⇒[プロパティ]⇒[システムの詳細設定]⇒[続行]でシステムのプロパティ画面が開く。「詳細設定」タブの「環境変数」ボタンを押す。

「システムの環境変数の欄に「Path」という項目があるので、その項目を選択して「編集」ボタンを押す。「変数値」の最後に「;c:\xampp\php」を追記。

で、OKOKで画面を閉じていく。コマンドプロンプトを立ち上げっぱなしの場合は、一度閉じてから開く。

実行したいPHPファイルのあるディレクトリに移動して、「php ファイル名.php」で実行できる。

が!!!だ、Gallery2のモジュールのひな形を作成するcreate-module.phpをこの方法で実行すると、下記のメッセージが出る。

C:\xampp\htdocs\gallery2\lib\tools\creator>php create-module.php
You must run this from the gallery2 directory

しかたないので、C:\xampp\htdocs\gallery2まで移動してから実行したらうまくいった!

C:\xampp\htdocs\gallery2>php lib\tools\creator\create-module.php
What is the name of your module? [Hello World] (ここはモジュール名ほげほげー)
What is the id of your module? [wifigadgets] (ここはモジュールIDほげほげー)
* * * * * * * * * * * * * * * * * * * * * * * * * *
Your module is ready!  You must build it by doing:
 
  cd modules/(ここはモジュールIDほげほげー)/classes
  make && make clean
 
Then you can go to the Site Admin -> Modules
page and install and activate your module!
* * * * * * * * * * * * * * * * * * * * * * * * * *

Comments コメントなし »

YUI 3.0 Preview Release 1

8/13に出ていたみたいです。日本時間だと8/14なんかな?

Animation Utility: Animating Along a Curved Path
これおもろい。

Comments コメントなし »

インストールしようとしたら、SAFE_MODEのためrealpathでエラーがいっぱい。。。

ここのサイト→(coreserverでcakephp 1.2を使う
を参考に/cake/libs/configure.phpに追記したら、エラーは回避できた。

Comments コメントなし »

ZendFrameworkのZend_Pdf(http://framework.zend.com/manual/ja/zend.pdf.html

を、試してみました。
ところが、日本語が表示されない。

こちらのサイト→(Zend_Pdf で日本語が使えるようになってた
を教えてもらって、ここに書いているようにフォントファイルをダウンロードして配置したら、ちゃんと日本語が使えました!

2008/08/05現在、ZendFrameworkのZend_Pdfで利用できるデフォルトのフォント指定は、下記のもののみでした。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    const FONT_COURIER = 'Courier';
    const FONT_COURIER_BOLD = 'Courier-Bold';
    const FONT_COURIER_OBLIQUE = 'Courier-Oblique';
    const FONT_COURIER_ITALIC = 'Courier-Oblique';
    const FONT_COURIER_BOLD_OBLIQUE = 'Courier-BoldOblique';
    const FONT_COURIER_BOLD_ITALIC = 'Courier-BoldOblique';
    const FONT_HELVETICA = 'Helvetica';
    const FONT_HELVETICA_BOLD = 'Helvetica-Bold';
    const FONT_HELVETICA_OBLIQUE = 'Helvetica-Oblique';
    const FONT_HELVETICA_ITALIC = 'Helvetica-Oblique';
    const FONT_HELVETICA_BOLD_OBLIQUE = 'Helvetica-BoldOblique';
    const FONT_HELVETICA_BOLD_ITALIC = 'Helvetica-BoldOblique';
    const FONT_SYMBOL = 'Symbol';
    const FONT_TIMES_ROMAN = 'Times-Roman';
    const FONT_TIMES = 'Times-Roman';
    const FONT_TIMES_BOLD = 'Times-Bold';
    const FONT_TIMES_ITALIC = 'Times-Italic';
    const FONT_TIMES_BOLD_ITALIC = 'Times-BoldItalic';
    const FONT_ZAPFDINGBATS = 'ZapfDingbats';

Comments コメントなし »

C-f    一文字次に進む
C-b    一文字前に戻る

M-f    一単語次に進む
M-b    一単語前に戻る

C-n    次の行に移動
C-p    前の行に移動

C-a    行頭に移動
C-e    行末に移動

M-a    文頭に移動
M-e    文末に移動
M-<    ファイルの先頭に移動する
M->    ファイルの末尾に移動する

Comments コメントなし »

<Delback>    カーソルの直前の文字を削除(delete)
C-d         カーソルのある文字を削除(delete)

M-<Delback>  カーソルの直前の単語を消去(kill)
M-d         カーソル位置の後ろにある単語を消去(kill)

C-k         カーソル位置から行末までを消去(kill)
M-k         カーソル位置から文末までを消去(kill)

Comments コメントなし »

こんなに設定がいっぱいあります。

感動した。。。

http://www.onehertz.com/portfolio/wordpress/mandigo/

【追記です】
CORESERVERではeval関数でのエラーが出てしまうため、CSSが適用されたりされなかったり。
突然文字が大きくなったりします。
そのような場合は、
/wp-content/themes/mandigo/style.css.php
の26行目にあるevalの前に「@」をつけると、とりあえず文字が不安定に大きくなることは避けられます。

Comments コメントなし »