maki-o memo

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

選択されているタグ : php

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

strtotime関数の挙動

strtotime関数で、?後のタイムスタンプを取得したい場合、 引数に入る値によって動きが変わります。

例えば、 $daystr = "20080929060000"; と、 $dayts = "1222635600";

という、日付を文字列で羅列しただけの、$daystrと、 それを、タイムスタンプにした、$daytsを使います。

$daystr を使う場合は、 $ts = strtotime($daystr."+4 week");

と、第一引数のみで文字列結合させて動かします。

$daytsの場合は、 $ts = strtotime("+4 week",$dayts);

というふうに、第二引数にターゲットとなる値を入れます。


xamppでのphp.ini

phpで、xmlをDOMで制御する場合、xamppでの設定をメモ。

xamppには、c:\xampp\php\にもphp.iniがあるが、 C:\xampp\apache\bin\にもphp.iniがあり、こちらの設定をいじらないと反映されない。

そこの、php_domxml.dll をコメントアウトしたらうまくいった。

charsetを変えた時は、どっちいじったか忘れました。


array_key_exists

bool array_key_exists ( mixed key, array search )

指定した key が配列に設定されている場合、 array_key_exists()TRUE を返します。 key は配列添字として使用できる全ての値を使用可能です。 array_key_exists() はオブジェクトに対しても動作します。

例 1. array_key_exists() の例

<?php $search_array = array('first' => 1, 'second' => 4); if (array_key_exists('first', $search_array)) { echo "The 'first' element is in the array"; } ?>

条件分岐の別の書き方(三項演算子)

条件文 ? 条件文がtrueの時の処理 : 条件文がfalseの時の処理 ;

例えば、 $_SESSION["hoge"] = $hoge != "" ? $hoge : "";

は、 if ($hoge != ""){ $_SESSION["hoge"] = $hoge; } else { $_SESSION["hoge"] = ""; }

と同じ処理になるので、場合によっては処理をすっきり書くことができる。


さくらでのSmarty設置

さくらでのSmarty設置ですが、 まず、公式サイト(http://www.smarty.net/)から、Smarty本体をDL。

解凍します。

解凍したものの中に、libsフォルダがあるので、それをさくらのサーバーにアップする。 さくらのサーバーの公開ディレクトリまでのパス構造は、 /home/アカウント名/www になっているが、公開ディレクトリより上層のディレクトリにも設置可能な為、 /home/アカウント名/ に、上記libsフォルダをアップロード。

templatesディレクトリ&templates_cディレクトリも、公開ディレクトリより上層へ設置したかった為、 MySmarty.class.phpを作成。内容は↓

&lt;?php

define (&quot;ROOT_DIR&quot; ,$_SERVER['DOCUMENT_ROOT'].&quot;/..&quot;);

require_once(&quot;Smarty.class.php&quot;);

class MySmarty extends Smarty {
function MySmarty () {
$this-&gt;template_dir = ROOT_DIR.&quot;/templates&quot;;
$this-&gt;compile_dir = ROOT_DIR.&quot;/templates_c&quot;;

$this-&gt;left_delimiter = &quot;&lt;{&quot;;
$this-&gt;right_delimiter = &quot;}&gt;&quot;;

$this-&gt;Smarty();
}
}

?&gt;

デリミタも、<{}>に変更してます。 libs内へアップロード。

phpでの呼び出し時は、

require_once ("../libs/MySmarty.class.php" );

で、いけました。


プロフィール

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

Tomokazu Makita

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

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

エントリーリスト

タグ