PHP 文字列から拡張子を取得したい

2010年08月02日(月)

PHPで文字列から拡張子を取得したいなと思うことは
よくあります。

$name=$_FILES['Filedata']['name'];
$extension = pathinfo($name, PATHINFO_EXTENSION);

こんな方法でいけるんですね。一行で書けるとは驚きでした。

PHP 引数があったらそっち使うかな。

2010年07月29日(木)

よくこのシチュエーションに出くわすのですが
なにか一般的な方法があるんでしょうか?

function test(){
  $args=func_num_args();
  $test_var='戻る';
  if(isset($args[0])) $test_var=$args[0];
}

PHP メールアドレスの書式チェック

2010年06月08日(火)

メールアドレスの書式チェックは
いろんな場面であるので、調べたやつを入れておきます。
厳密にやるとなかなか大変そうです。

function is_mail($text) {
if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $text)) {
        return true;
    } else {
        return false;
    }
}

PHP/MySQL implodeでクエリを作成

2010年06月05日(土)

配列をimplodeで分解してIN()でクエリを作るとき、
文字列の場合困るなあと思ってました。
これでダメでしょうかね。
ちゃんとしたやり方がありそうです。

$list_array=array(“red”,”blue”,”green”);
$girls_path_list=implode($list_array,”‘,’”);
$query=”SELECT girls_name,tall,bust,cup,waist,hip FROM girls WHERE girls_path IN (‘{$girls_path_list}’)”;
print $query;

PHP 可変関数

2010年05月19日(水)

可変関数っていうんですね。
コレやりたかったのに、なんていうのか検索の仕方がわからず
困ってました。


$func_str = "function_name";
$func_str("テスト文字列"); // function_name() 関数が呼ばれ、"テスト文字列"が出力される。
function function_name($str){
    echo $str;
}

PEAR go-pear.phpでインストール

2010年05月18日(火)

いつも、パブリックな場所にしかインストールできなくて
困るなあとおもってましたが、ちゃんとやればできるんですね。

具体的にはインストールするディレクトリをwebでみれないディクレクトリ
に指定し、インストール後にindex.phpがあるので
それをアクセスできる(アクセス制限がかかっていた方がよい)ディレクトリに
手動で移動すればいいらしいです。

すごく簡単なことだったんですね。
一応go-pearのリンクを貼っておきます。

http://pear.php.net/go-pear

Smarty modifierでstr_replace

2010年04月16日(金)

Smartyでは、ロジック側で整形するかテンプレート側で整形するか
いつも微妙なラインのところがあって困ります。

str_replaceをテンプレートで処理する場合は

'検索文字列'|str_replace:'置換文字列':$対象文字列

となるそうです。
あと、配列@で渡せるそうです。

{$name_list|@count}

ありがとうございました。
http://itpro.nikkeibp.co.jp/article/COLUMN/20071210/289116/

PHP 継承元のクラス(スーパークラス)のコンストラクタ

2010年03月16日(火)

これは・・・あってるのかしら。
検索の仕方がよくわかりませんでした。


class Test extends SuperTest{
function __construct(){
//スーパークラスのコンストラクタ
SuperTest::__construct();
}

}

PHP splintfはよく使うはず

2010年03月12日(金)

なのに、よく忘れてしまうのでメモします。

$var=5;
echo splintf("%02d",$var);//2桁で出力

よくこんなカンジで使ってました。

$var=5;
$figures=2
echo splintf("%0{$figures}d",$var);//$figures桁で出力

調べるとこんな使い方も

$nowDate = sprintf("%04d年%02d月%02d日", $year, $month, $day);

使うべきでした。

Smarty テンプレート内でPHPを使うのはダメ!

2010年03月12日(金)

{php}
$var=”test”;
echo $var;
{/php}
こんなカンジでいけるのかしら?

こんなことできたらおかしいですよね。
これは困惑する。
やるべきではないって覚えときます。

でも正直知りませんでした。