前の記事 ≪:2008年11月5日 管理人のブックマーク
次の記事 ≫:実用的なフリーフォント色々

PHP開発者が便利に使える10のスニペット集

2008年11月06日-はてなブックマーク

スポンサード リンク
[PR] 英単語を忘却曲線アプリを使って超効率よく記憶する方法

The html blog | 10 code snippets for PHP developers

I've compiled a small list of some useful code snippets which might help you when writing your PHP scripts

PHP開発者が便利に使える10のスニペット集が紹介されていました。

メールアドレスチェック簡単化
php-email-address-validation クラスを使ったメールアドレスチェック
http://code.google.com/p/php-email-address-validation/

include('EmailAddressValidator.php');
 
$validator = new EmailAddressValidator;
if ($validator->check_email_address('test@example.org')) {
    // Email address is technically valid
}
else {
    // Email not valid
}

正規表現が苦手でもクラスに頼ってしまうことでちゃんとバリデートできるかも。
(本当にちゃんと、というには当然クラスの中身も精査しないといけませんが^^;)

パスワード文字列ジェネレート
パスワードを作るgeneratePassword関数

function generatePassword($length=9, $strength=0) {
    $vowels = 'aeuy';
    $consonants = 'bdghjmnpqrstvz';
    if ($strength & 1) {
        $consonants .= 'BDGHJLMNPQRSTVWXZ';
    }
    if ($strength & 2) {
        $vowels .= "AEUY";
    }
    if ($strength & 4) {
        $consonants .= '23456789';
    }
    if ($strength & 8) {
        $consonants .= '@#$%';
    }
 
    $password = '';
    $alt = time() % 2;
    for ($i = 0; $i < $length; $i++) {
        if ($alt == 1) {
            $password .= $consonants[(rand() % strlen($consonants))];
            $alt = 0;
        } else {
            $password .= $vowels[(rand() % strlen($vowels))];
            $alt = 1;
        }
    }
    return $password;
}

Proxy経由でもできるだけ本当のIPアドレスを得る

function getRealIpAddr(){
    if (!empty($_SERVER['HTTP_CLIENT_IP'])){
        //check ip from share internet
      $ip = $_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
        //to check ip is pass from proxy
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else{
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

Uploadクラスを使ったファイルの簡単アップロード
http://www.verot.net/php_class_upload.htm

面倒なファイルアップも次のように簡単に行える

$uploadedImage = new Upload($_FILES['uploadImage']);
 
if ($uploadedImage->uploaded) {
    $uploadedImage->Process('myuploads');
    if ($uploadedImage->processed) {
        echo 'file has been uploaded';
    }
}

他にも、以下のようなテクニックが紹介されています。

・XSL変換
・ファイルのダウンロード
・Htmlバリデーションクラスの紹介
・PHPMailerを使ったメール送信
・特定ディレクトリ以下のファイルを得る
・MDB2を使ったRDBM操作
全て見てみる

活用してコーディング時間を出来るだけ減らして仕事を効率化したいですね。

関連の記事検索:PHP, ライブラリ, チュートリアル
スポンサード リンク

By.KJ : 2008年11月06日 07:06 livedoor Readerで購読 Twitterに投稿

間違いの指摘をしていただける方はメール、あるいはTwitter/FBでお願いします(クリック)