Ryusuke Fuda's Tech Blog

Softweare Enginier about Web, iOS, Android.

php

Phalcon インストール (PHP)

PHP最速のフレームワークPhalconをさくらVPSへインストール http://phalconphp.com/ja/download http://docs.phalconphp.com/en/latest/reference/install.html■ 必要なパッケージをサーバにインストール sudo yum install php-devel php-mysql gcc libtool■…

xml CDATA 取得(PHP)

php

■ rssフィードやapiをxmlで取得するときsimplexml_load_string()ではCDATAは取得できない。 $url = "{フィードURL}"; $contents = file_get_contents($url); $rss = simplexml_load_string($contents,'SimpleXMLElement', LIBXML_NOCDATA); var_dump($rss); …

if文で条件が同じで || が増えてきたとき。(PHP)

php

■ こういう時。 if ($type == 'web' || $type == 'video' || $type == 'music') { } else { } $typeは共通だからスッキリさせたい。■ in_array 関数をつかう。 if (in_array($type, array('web', 'video', 'music'))) { } else { }

一行で任意の文字列から任意の文字を抜き出す方法(php)

php

$url = http://abcdefge?appid=55555&alt=json //55555を抽出したい $id = substr($url, strpos($url, 'appid=', 0)+6, 5); var_dump($id); //55555となるstrposでappid=の開始位置(int)を取得 それにappid=の6文字を足した位置から5文字文をsubstrで抜き出…

正規表現、デリミタ(PHP)

正規表現を使ってpreg_replaceを行うとき、http://などがあると、エラーになり、nullを返す。 $title = preg_replace("/($searchWord)/", "<strong>$1</strong>", $titleOrg); $searchWordにhttp://が入ってきた時におこる それを回避するときはパターンを delimiters で囲む…

fgetcsv() の注意点

php

fgetcsv()でcsvファイルを読み込む時に""で囲まれていない1バイト以外の文字(日本語など)は正常に読み込まれない。 setlocale(LC_ALL,'ja_JP.UTF-8'); を使うと読み込まれる。 setlocale(LC_ALL,'ja_JP.UTF-8'); $handle = fopen($csv, 'r'); while (($data …

PHPにおけるダブルクォーテーションとシングルクォーテーションの扱いの違い

php

■変数に対する処理の違い・ダブルクォーテーション ・・・文字列中の変数を展開する ・シングルクォーテーション・・・文字列中の変数を展開しない という違いがあります。そのため、変数の展開を使わないときはシングルクオーテーションを使ったほうが処理速度が…

var_dumpが効かない場所でのデバッグ方法(PHP)

php

$paramの中身が見たいとき @file_put_contents('/home/user/tmp/a.txt', var_export($param, true)."\n", FILE_APPEND);これを見る tail -f /home/user/tmp/a.txtオプション -f で自動更新されるのでいちいちtailする必要はない

変数ににhtmlのタグ<img 等が入ってデザインが崩れるときhtmlspecialchars関数を使う(PHP)

php

$cntent = "わたしはスキーにいきます。" $content = htmlspecialchars($content); //特殊文字を HTML エンティティに変換 $content = str_replace('<p>', '', $content); //を消す var_dump($content); rssのdescriptionにタグが入っていることがあるので、そ</p>…

PHP比較の落とし穴(PHP)

php

PHPの比較は注意が必要 '1hoge' == 1 //ture 'hoge' == 0 //true となる。つまり先頭が数字じゃないとどんな文字列も数値0扱い.先頭が数字ならどんな文字列も先頭の数字扱い。ちなみに === で比較すると型も一緒に比較してくれる(完全一致)参考)http://w…

$_SERVER(PHP)

php

●URLを直接叩かれた時にアクセス拒否にする方法 まず、index.phpを読み込んだとする。 index.phpが実行されるとconstant.phpへ行く。 constant.phpの中

xmlデータに「:」コロンがあり、simplexml_load_xmlできないときの解消法(PHP)

php

テキストデータに変換し、置換する。 $response = Utility::getFileContents($rqst); $response = str_replace('media:group', 'media', $response); $response = str_replace('media:thumbnail', 'thumbnail', $response); $xml = simplexml_load_string($r…

配列内の文字列を置換(PHP)

php

echo "$before"すると http://www.aaaaaaaaa/?bbbbbbbbb.jp となる配列があるとする。そこの/?の間にiwantchangeという文字列を入れたいとき。 $after = str_replace("/?", "/iwantchange?", $before); echo "$after"は http://www.aaaaaaaaa/iwantchange?bb…

5個から3個をランダムに選んで表示(PHP)

php

①各バナーにランダムに数字をふり表示をしたい ②数字が被ると同じバナーが出てしまうのでwhile文をまわしてチェック {php} $recommendPr = array(false, false, false, false, false); $rnd1 = rand(0,4); $rnd2 = rand(0,4); $rnd3 = rand(0,4); while ($rn…

時間を指定してdivを出す(PHP)

{php} $currentTime = time(); $campaignFirstStartTime = mktime(12, 0, 0, 8, 16, 2012); $campaignEndTime = mktime(12, 0, 0, 8, 30, 2012); {/php} {php}if ($currentTime >= $campaignFirstStartTime && $currentTime <= $campaignEndTime): {/php} {p…

ランダムで<div>で囲まれたhtmlを出す方法(PHP)

①divの数だけランダムの番号をつくる ②if文で囲む <div>YES,I CAN </div> <div>NO,I CAN'T </div> <div>WELL,LET ME THINK ABOUT IT</div> <div>YOU SHOULD DO IT</div> html内でPHPを使うときはこの書き方。(三項…