<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Nieks?</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/" />
    <link rel="self" type="application/atom+xml" href="http://nini-design.com/nieks/atom.xml" />
    <id>tag:nini-design.com,2010-01-17:/nieks//2</id>
    <updated>2010-12-20T02:35:48Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.27-ja</generator>

<entry>
    <title>Macキーボードのoptionをcommandに</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2010/12/macoptioncommand.html" />
    <id>tag:nini-design.com,2010:/nieks//2.73</id>

    <published>2010-12-20T02:29:33Z</published>
    <updated>2010-12-20T02:35:48Z</updated>

    <summary>VMWare Fusionを使ってMacでWindowsを使用しているとどうもキ...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[VMWare Fusionを使ってMacでWindowsを使用していると<br />どうもキーの場所が落ち着かない。<br /><br />なのでoptionキーをcommandキーにしてみた。<br /><br />Windowsと併用して使うならこっちの方が落ち着くね。<br /><br />その際使ったツールは、
<a href="http://pqrs.org/macosx/keyremap4macbook/files/KeyRemap4MacBook-7.0.0.pkg.zip">KeyRemap4MacBook</a><br /><a href="http://pqrs.org/macosx/keyremap4macbook/index.html.ja">http://pqrs.org/macosx/keyremap4macbook/index.html.ja</a><br /><br />フリーのツールです。<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>WordPressにユーザーを追加したときに自動送信されるメールのカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2010/11/wordpress-1.html" />
    <id>tag:nini-design.com,2010:/nieks//2.72</id>

    <published>2010-11-27T09:01:25Z</published>
    <updated>2010-11-27T09:06:36Z</updated>

    <summary>/wp-includes/plaggable.php をカスタマイズすると自動送...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
        <category term="WordPress" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[/wp-includes/plaggable.php をカスタマイズすると<br />自動送信されるメールの内容を自由に変更できる。<br /><br />$message という変数を検索。<br />その変数に入るデータをカスタマイズすればOK。<br /><br /><br />送信者 From のメールアドレスも変更可能。<br /><br />$from_emailという変数を検索。<br />その変数に入るメールアドレスを変更すればOK。<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>WordPress　使えるプラグイン</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2010/09/wordpress.html" />
    <id>tag:nini-design.com,2010:/nieks//2.71</id>

    <published>2010-09-03T07:56:41Z</published>
    <updated>2010-09-03T08:10:26Z</updated>

    <summary>最近教えてもらったWordPressのプラグインで使えそうなものを紹介。Role...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[最近教えてもらったWordPressのプラグインで使えそうなものを紹介。<br /><br /><h2 id="post-32"><a href="http://wppluginsj.sourceforge.jp/i18n-ja_jp/role-manager/">Role Manager</a></h2>一般的に権限は、管理者、編集者、作成者、寄稿者、購読者の5種類。<br />でもこのRole Managerを使うとさらに細かい権限設定がユーザーごとに行えます。<br /><br /><br /><h2 id="post-210"><a href="http://wppluginsj.sourceforge.jp/googlemaps-anywhere/">Google Maps Anywhere</a></h2>各記事、ページ内の任意の場所に<a href="http://maps.google.co.jp/" title="Google マップ">Google マップ</a>を貼り付けるためのプラグインです。<br />もちろん自分でコードをコピーして貼り付けてもいいんだけど、このプラグインを入れておくと<br />投稿画面のツールバーにGoogleマップ用のボタンが表示されるのでとても便利。<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="googlemaps-anywhere01.png" src="http://nini-design.com/nieks/2010/09/03/googlemaps-anywhere01.png" class="mt-image-none" style="" height="129" width="364" /></span><br /><br /> <div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>Flashムービーの前に表示させるには・・・Highslide JS</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2010/05/flash.html" />
    <id>tag:nini-design.com,2010:/nieks//2.70</id>

    <published>2010-05-20T01:56:26Z</published>
    <updated>2010-05-20T02:21:10Z</updated>

    <summary>そういえばこのブログの存在を忘れそうになってた・・・。久々の更新。今回、YouT...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
        <category term="javascript" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[そういえばこのブログの存在を忘れそうになってた・・・。<br />久々の更新。<br /><br />今回、YouTube動画を扱うウェブを制作していますが<br />その際にHighslideというAjaxを利用しました。<br /><br />ちなみにHighslideというのは、javascriptのビューワーで<br />ポップアップなどで使えます。<br />すごくいい感じなのでこれは結構多用しています。<br /><br /><a href="http://highslide.com/">Highslide JS - JavaScript thumbnail viewer</a><br /><br />ただ、今回このビューワーを使ってポップアップさせたところ<br />YouTube動画の後ろに隠れるんですね・・・。IEだけ（泣）<br /><br />何かいい方法はないかといろいろ探したところ<br />paramの設定でクリアできました。<br /><br />&lt;param name="wmode" value="transparent" /&gt;<br />&lt;param name="WindowlessVideo" value="0" /&gt;<br /><br />上記の2行を追加し、さらにembedのオプションに下記のコードを<br />追加するとYouTube動画の前にポップアップしました！<br /><br />&lt;embed wmode="transparent"&gt;&lt;/embed&gt;<br /><br />IEのせいで作り直しかと思ってましたが、これでクリアできて<br />ホッと胸をなでおろしました・・・。<br /><br />またひとつIEが嫌いになりましたが（笑）<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>複数同時にフィード</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2009/09/post-10.html" />
    <id>tag:nini-design.com,2009:/nieks//2.69</id>

    <published>2009-09-19T05:46:32Z</published>
    <updated>2010-01-17T07:53:06Z</updated>

    <summary>よく使うAPIにGoogle Feedがありますが、このAPIは毎度ほんとにお世...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[よく使うAPIにGoogle Feedがありますが、このAPIは毎度ほんとにお世話になってます。<br /><br />ただ最近は、複数のブログから記事をフィードさせることが増えてきたため<br />ちょっとこれでは物足らないかなと・・・。<br /><br />そこで使うようになったのが、<a href="http://code.google.com/intl/ja/apis/ajaxfeeds/documentation/#FEEDCONTROL">Google FeedControl </a><br />これを使えば2つでも3つでもいくでもフィードすることができます。<br /><br />まずは<a href="http://code.google.com/intl/ja/apis/ajaxfeeds/key.html">Google APIの利用登録</a>をします。（無料）<br /><br />そして貼り付けるコードは下記の通り<br />（3件以上のフィードを想定して多少カスタマイズしてあります。）<br /><br /><pre class="prettyprint"><span class="tag">&lt;html&gt;</span><span class="pln"><br />&nbsp; </span><span class="tag">&lt;head&gt;</span><span class="pln"><br />&nbsp; &nbsp; </span><span class="tag">&lt;script</span><span class="pln"> &nbsp;</span><span class="atn">type</span><span class="pun">=</span><span class="atv">"text/javascript"</span><span class="pln"> </span><span class="atn">src</span><span class="pun">=</span><span class="atv">"http://www.google.com/jsapi?key="</span><i><span class="pln">YOUR-KEY</span></i><span class="atv">"&gt;</span><span class="pun">&lt;</span><span class="str">/script&gt;<br />&nbsp; &nbsp; &lt;script type="text/</span><span class="pln">javascript</span><span class="str">"&gt;</span><span class="pln"><br /><br />	var strFeed1 = "http://www.aaa/index.xml";<br />	var strFeed2 = "</span><span class="pln">http://www.bbb/index.xml</span><span class="pln">";<br />	var strFeed3 = "</span><span class="pln">http://www.ccc/index.xml</span><span class="pln">";<br /><br />	var strName1 = "タイトル１";<br />	var strName2 = "タイトル２";<br />	var strName3 = "</span><span class="pln">タイトル３"</span><span class="pln">;<br /><br />	var entryNum = 3;<br /><br />	google.load("feeds", "1");<br /><br />	function OnLoad() {<br />		var feedControl = new google.feeds.FeedControl();<br />		<br />		feedControl.addFeed(strFeed1, strName1);<br />		feedControl.addFeed(strFeed2, strName2);<br />		feedControl.addFeed(strFeed3, strName3);<br />		<br />		feedControl.setLinkTarget(google.feeds.LINK_TARGET_BLANK);<br />		feedControl.setNumEntries(entryNum);<br />		feedControl.draw(document.getElementById("feedControl"), <br />			{drawMode : google.feeds.FeedControl.DRAW_MODE_LINEAR});<br />	}<br />	google.setOnLoadCallback(OnLoad);</span><span class="pln"><br /><br />&nbsp; &nbsp; </span><span class="tag">&lt;/script&gt;</span><span class="pln"><br />&nbsp; </span><span class="tag">&lt;/head&gt;</span><span class="pln"><br /><br />&nbsp; </span><span class="tag">&lt;body&gt;</span><span class="pln"><br />&nbsp; &nbsp; </span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">id</span><span class="pun">=</span><span class="atv">"feedControl"</span><span class="tag">&gt;</span><span class="pln">Loading</span><span class="tag">&lt;/div&gt;</span><span class="pln"><br />&nbsp; </span><span class="tag">&lt;/body&gt;</span><span class="pln"><br /></span><span class="tag">&lt;/html&gt;<br /><br /></span></pre>あとはCSSで表示のレイアウトを調整します。<br /><br />#feedControl {<br />&nbsp;&nbsp;&nbsp; text-align: left;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; padding-left: 8px;<br />&nbsp;&nbsp;&nbsp; padding-right: 8px;<br />}<br /><br />#feedControl a {<br />&nbsp;&nbsp;&nbsp; color: #990000;<br />&nbsp;&nbsp;&nbsp; text-decoration: none;<br />}<br /><br />#feedControl .gf-snippet,<br />#feedControl .gf-author,<br />#feedControl .gf-spacer {<br />&nbsp;&nbsp;&nbsp; display : none;<br />}<br /><br />#feedControl .gf-relativePublishedDate {<br />&nbsp;&nbsp;&nbsp; color: #999966;<br />}<br /><br />こんな感じで最近制作したウェブサイトはこちらです。ご参考までに。<br /><br />【<a href="http://www.wasedaski.net/">早稲田大学スキー部</a>】<br /><br />APIの詳細は<a href="http://code.google.com/intl/ja/apis/ajaxfeeds/documentation/#FEEDCONTROL">Googleのサイト</a>で確認ください。<br />]]>
        
    </content>
</entry>

<entry>
    <title>PHPで配信エラーメールの受信</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2009/08/php-2.html" />
    <id>tag:nini-design.com,2009:/nieks//2.68</id>

    <published>2009-08-27T07:30:07Z</published>
    <updated>2010-01-17T07:53:06Z</updated>

    <summary>メール一斉配信をしたときに届かなかったエラーメールだけを受信できないかと思い作っ...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
        <category term="PEAR" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[メール一斉配信をしたときに届かなかったエラーメールだけを<br />受信できないかと思い作ってみました。<br /><br />PEARのNet_POP3を使うとメールサーバーに<br />簡単にアクセスできるのでまずはそちらでメールの一覧を受信。<br /><br />配信されなかったメールヘッダーの[X-Failed-Recipients]には<br />メールアドレスが入っているのでそれを取り出す。<br /><br />後は日付順に並べれば配信エラーの一覧表ができる。<br /><br />deleteMsg()メソッドを使うとメールの削除もできるので<br />古いメールはこれで自動的に削除していくといいかもしれない。<br /><br /><br />説明だけだと簡単なのだが、なかなかうまくいかずこれは意外と難問だった。<br /><br />参考にしたサイトはこちら<br /><a href="http://itpro.nikkeibp.co.jp/article/COLUMN/20070827/280400/">PEAR::Net_POP3を使ってPOP3サーバにアクセスしよう - PHP TIPS：ITpro</a><br /><br />&lt;?php<br />require_once('Net/POP3.php');<br /><br />$account = array(<br />&nbsp; 'host' =&gt; 'ホスト名',<br />&nbsp; 'port' =&gt; '110',<br />&nbsp; 'username' =&gt; 'ユーザ名',<br />&nbsp; 'password' =&gt; 'パスワード',<br />);<br />$pop3 =&amp; new Net_POP3();<br />$pop3-&gt;connect($account['host'], $account['port']);<br />$pop3-&gt;login($account['username'], $account['password']); <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; $mail_list = $pop3-&gt;getListing();<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; $i = 0;<br />&nbsp;&nbsp;&nbsp; foreach($mail_list as $key =&gt; $val) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $header_list = $pop3-&gt;getParsedHeaders($val["msg_id"]);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $errdate = $header_list["Date"];<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $errmail = $header_list["X-Failed-Recipients"];<br /><br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if($errmail != "") {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $errdata[$i]["errdate"] = $errdate;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $errdata[$i]["errmail"] = $errmail;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $i ++;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }//end if<br />&nbsp;&nbsp;&nbsp; }//end foreach<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; $pop3-&gt;disconnect();<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; $smarty-&gt;assign("errdata", $errdata);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; $smarty-&gt;display("index.html");<br />?&gt;<br />]]>
        
    </content>
</entry>

<entry>
    <title>セッションタイムアウトしない・・・</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2009/08/post-9.html" />
    <id>tag:nini-design.com,2009:/nieks//2.67</id>

    <published>2009-08-07T12:19:12Z</published>
    <updated>2010-01-17T07:53:05Z</updated>

    <summary>デフォルトのセッションパスを使用するとどういうわけか動作が不安定になるので（レン...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
        <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[デフォルトのセッションパスを使用するとどういうわけか動作が不安定になるので<br />（レンタルサーバー会社に連絡してサーバーの再起動をしてもらうと直るのだが・・・面倒！）<br />パスを変えて使ってみると安定した。<br /><br />ただひとつ問題が・・・<br />セッションタイムアウトしない！<br /><br />php.iniもいじれず・・・<br /><br />session_cache_expire()を使ってもタイムアウトせず・・・<br /><br />困ったなーと思っていたが何とか解決しました。<br /><br />結局、セッションファイルをチェックして一定時間が経過したら削除するという<br />ちょっと強引な方法で今のところ問題なく動作しています。<br /><br />filemtime関数で<span class="dc-title">ファイルの更新時刻</span>を取得し<br />指定した時間が経過したら削除するという方法で。<br />session_start() をするとこの<span class="dc-title">更新時刻</span>は更新されるため<br />使っている間は削除されないということになります。<br /><br />使用方法はページを移動するたびにタイムアウト関数を走らせています。<br />※ session_start() よりも前に書きます。<br /><br /><br />以下の例ではタイムアウトの時間は10分に設定しています。<br /><br />参考にしたページはこちら<br /><a href="http://www.phppro.jp/qa/449">http://www.phppro.jp/qa/449</a><br /><br />// =========================================================<br />// セッションのタイムアウト制御<br />// =========================================================<br />function session_timeout() {<br />&nbsp;&nbsp;&nbsp; //セッション有効時間（秒）<br />&nbsp;&nbsp;&nbsp; $KeepAliveTime = 600;<br />&nbsp;&nbsp;&nbsp; //セッションデータパス<br />&nbsp;&nbsp;&nbsp; $sesspath = session_save_path();<br />&nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;&nbsp; //タイムアウトしたセッションデータを検索＆削除<br />&nbsp;&nbsp;&nbsp; foreach (glob("$sesspath/sess_*") as $fname) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(filemtime($fname) + $KeepAliveTime &lt; time()) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; @unlink($fname);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }//end if<br />&nbsp;&nbsp;&nbsp; }//end foreach<br />}//end function<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>多重配列のエンコード</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2009/05/post-8.html" />
    <id>tag:nini-design.com,2009:/nieks//2.66</id>

    <published>2009-05-03T14:42:49Z</published>
    <updated>2010-01-17T07:53:05Z</updated>

    <summary>PHP＋Smartyで携帯サイトを制作すると絶対にぶつかる問題。「文字コードの変...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
        <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Smarty" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[PHP＋Smartyで携帯サイトを制作すると絶対にぶつかる問題。<br /><br />「文字コードの変換」<br /><br />パソコン用であれば、「UTF-8」で統一しておけば何も問題ないのだが<br />携帯サイトに関しては、基本的に「SHIFT-JIS」<br /><br />ドコモの一部機種とソフトバンクは、「UTF-8」対応しているが<br />auは対応しておらず、すべての携帯で見れる文字コードは<br />今のところ「SHIFT-JIS」のみ。<br /><br />ただし、PHP＋Smartyは「UTF-8」か「EUC」しか対応していないので<br />PHPは上記どちらかで保存し、ビュー用のテンプレートファイルを「SHIFT-JIS」で保存。<br /><br />そして、アウトプットさせるデータを出力時に「SHIFT-JIS」にエンコード。<br />これでうまくいくはずが・・・文字コードはハマると結構面倒なんだなぁ（泣）<br /><br />今回気がついたことは、エンコードの関数「<span class="_LSUCS">mb_convert_encoding」って<br />配列に対応してないのね・・・(&gt;&lt;)<br /><br />ということで、多重配列に対応したエンコード関数を作ってみました。<br />これで携帯でうまく表示されました！<br /><br />/* ------------------------------------------- <br />　文字列（配列）のエンコード<br />　$param = ターゲットとなる配列もしくは文字列<br />　$to_encoding = 変換後の文字コード<br />　$from_encoding = 変換前の文字コード（デフォルトはauto）<br />------------------------------------------- */<br />function arr_mb_convert_encoding($param, $to_encoding, $from_encoding="auto"){<br />&nbsp;&nbsp;&nbsp; if(is_array($param)){<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; foreach($param as $key =&gt; $val){<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(is_array($val)){<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; foreach($val as $k =&gt; $v){<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $param[$key][$k] = mb_convert_encoding($v, $to_encoding, $from_encoding);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }//end foreach<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }else{<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $param[$key] = mb_convert_encoding($val, $to_encoding, $from_encoding);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }//end if<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }//end foreach<br />&nbsp;&nbsp;&nbsp; }else{<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $param = mb_convert_encoding($param, $to_encoding, $from_encoding);<br />&nbsp;&nbsp;&nbsp; }//end if<br />&nbsp;&nbsp;&nbsp; return $param;<br />}//end function<br /></span><br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>CSSで連番　10以上でバカになるIE</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2009/04/css10ie.html" />
    <id>tag:nini-design.com,2009:/nieks//2.65</id>

    <published>2009-04-12T02:43:58Z</published>
    <updated>2010-01-17T07:53:05Z</updated>

    <summary><![CDATA[CSSを使って番号をふっているのですが.list_number {&nbsp;&...]]></summary>
    <author>
        <name>nini</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[CSSを使って番号をふっているのですが<br /><br />.list_number {<br />&nbsp;&nbsp;&nbsp; list-style-type: decimal;<br />}<br /><br />&lt;ul class="list_number"&gt;<br />&nbsp;&nbsp;&nbsp; &lt;li&gt;●●●&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp; &lt;li&gt;▲▲▲&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp; &lt;li&gt;■■■&lt;/li&gt;<br />　　　　　・<br />　　　　　・<br />&lt;/ul&gt;<br /><br />表示は下記のようになりますよね。<br />&nbsp;&nbsp;&nbsp; 1. ●●●<br />
&nbsp;&nbsp;&nbsp; 2. ▲▲▲<br />
&nbsp;&nbsp;&nbsp; 3. ■■■<br />　　　　・<br />
　　　　・<br /><br /><br /> そして、3の倍数じゃなくて・・・10以上になったときIEはバカになります。<br />通常なら10を表示するところをまた0からスタート。<br /><br />Firefox, Opera, Safari, Chrome....すべて問題なし。<br /><br />IE8では対応してくれるのだろうか・・・。<br />いつまでこんなヘッポコブラウザの対応をさせられるのか。<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>「サイトが移動しました(301)」だって？</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2009/04/301.html" />
    <id>tag:nini-design.com,2009:/nieks//2.64</id>

    <published>2009-04-05T09:40:59Z</published>
    <updated>2010-01-17T07:53:05Z</updated>

    <summary>一つのURLにアクセスしてもらって、PCか携帯かに振り分けるリダイレクトプログラ...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
        <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Smarty" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[一つのURLにアクセスしてもらって、PCか携帯かに<br />振り分けるリダイレクトプログラムを入れたら<br />ドコモだけ「サイトが移動しました(301)」と一旦表示されて<br />その後正常に表示される。<br /><br />Smartyを使って、DisplayしているのでURLは変えないんだから<br />移動しましたっていちいち言うなよっ！という感じです。<br /><br />結果的に超単純な方法で改善しましたが、これを改善といっていいのかどうか。<br />URLの最後に"/"（スラッシュ）を必ずつけるということでした。<br /><br />QRコードや広告、名刺に記載するモバイルURLの最後に<br />しっかりと"/"（スラッシュ）を付けてもらうということでしょうか・・・。<br />何だか腑に落ちませんが。<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>smatyでfor文、数値の桁を0で埋める</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2009/03/smatyfor0.html" />
    <id>tag:nini-design.com,2009:/nieks//2.63</id>

    <published>2009-03-29T06:30:59Z</published>
    <updated>2010-01-17T07:53:05Z</updated>

    <summary>例えば、1, 2, 3をすべて、001, 002, 003と表示させたい場合は下...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
        <category term="Smarty" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[例えば、1, 2, 3をすべて、001, 002, 003と表示させたい場合は<br />下記のような使い方をする。<br /><br />
    {$cnt|string_format:"%03d"}<br /><br />// $cntに数値が入るとする。<br /><br />そして、それをfor文でまわすと下記のようなコードになる。<br /><br />{section name=cnt start=1 loop=3}<br />　　　{$smarty.section.cnt.index|string_format:"%03d"}."&lt;br /&gt;"<br />{/section}<br />]]>
        
    </content>
</entry>

<entry>
    <title>突然、セッションエラー</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2009/03/post-7.html" />
    <id>tag:nini-design.com,2009:/nieks//2.62</id>

    <published>2009-03-26T14:43:19Z</published>
    <updated>2010-01-17T07:53:05Z</updated>

    <summary>作業中に突然セッションエラーが発生するようになった・・・なぜ？エラーの行を見てみ...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
        <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="サーバー" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[作業中に突然セッションエラーが発生するようになった・・・なぜ？<br />エラーの行を見てみると、最初のsession_start();の部分。<br />思い当たる節もなく、レンタルサーバー会社に即連絡。<br />サーバーの再起動で直ったもののしばらくするとまた発生。何なの？<br /><br />エラーの内容は下記の通り。<br />**********************************************<br />Warning: session_start() [function.session-start]: open(/tmp/sess_e102d79a5e5f8a2accd0e3bc1dfbc1f8, O_RDWR) failed: Permission denied (13) in /public_html/index.php on line 7<br /><br />Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in Unknown on line 0<br />**********************************************<br /><br />またサーバーの再起動をしてもらったところで根本的な解決にはならないので<br />セッションパスを変えてみることにした。<br /><br />新たにsessionというフォルダを作り、パスを変更。<br />session_save_path('/home/*****/session');<br /><br />そして、エラーの内容からパーミッションに問題がありそうなので<br />777に設定変更し、再度実行してみると・・・なんと解決！<br /><br />777でセキュリティ的にどうなのかという問題もあるが、public_htmlより<br />上の階層に作ってあるからまぁいいかということで・・・。<br /><br />ちなみにsession_save_pathは、session_start()よりも先に書かなければならない。<br />ついでにタイムアウトの時間も変更。<br />
デフォルトは180分らしい。そんなにはいらないので、30分くらいに・・・。<br /><br />&lt;?php<br />session_save_path('/home/*****/session');<br />session_cache_expire(30);<br />session_start();<br />・<br />・<br />?&gt;<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>CSVファイルのデータをPHP⇒Smartyで使う　パート２</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2009/03/csvsmarty-1.html" />
    <id>tag:nini-design.com,2009:/nieks//2.60</id>

    <published>2009-03-10T10:47:29Z</published>
    <updated>2010-01-17T07:53:04Z</updated>

    <summary>先の記事で、fgetcsv関数を紹介しましたがどうもこの関数は処理速度が遅いらし...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
        <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Smarty" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="php" label="PHP" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[先の記事で、fgetcsv関数を紹介しましたが<br />どうもこの関数は処理速度が遅いらしい。<br /><br />ともかく少しでも速くしたいので、別の方法を試してみた。<br />fgetcsvに変えて、file_get_contentsを使ってみる。<br />ただし、file_get_contentsだと1行ずつ取り出してくれないので<br />explodeを2回入れる必要がある。<br />改行（\n）での分割とカンマ（,）での分割。<br />ちょっとコードが長くなるが、速いに越したことはない。<br /><br />$fname = "csv/sample.csv";<br />$file = file_get_contents($fname);<br />$file_line = explode("\n", $file);<br />$i = 0;<br />foreach($file_line as $value) {<br />&nbsp;&nbsp;&nbsp; list($sp_date, $sp_title, $sp_detail, $sp_url, $sp_photo) = explode(",", $value);<br />&nbsp;&nbsp; &nbsp;$sp_data[$i]["sp_date"] = $sp_date;<br />&nbsp;&nbsp; &nbsp;$sp_data[$i]["sp_title"] = $sp_title;<br />&nbsp;&nbsp; &nbsp;$sp_data[$i]["sp_detail"] = $sp_detail;<br />&nbsp;&nbsp; &nbsp;$sp_data[$i]["sp_url"] = $sp_url;<br />&nbsp;&nbsp; &nbsp;$sp_data[$i]["sp_photo"] = $sp_photo;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;$i++;<br />}// end foreach<br /><br />ストップウォッチ片手にベンチマークしてみると<br />Firefoxにおいては、たしかに１秒ほど速くなった。<br /><br />ただIE7.0でのテストは、わずかに速いかなという程度で<br />ほとんど変わらなかった・・・というかどちらも遅い。<br /><br />DBが使える環境であれば、CSVよりも間違いなく<br />DBをおすすめする・・・当たり前か（＾＾；）<br /><br />どちらにせよ、DBが使えない特殊な環境もしくは<br />制限がある場合は、CSVを使うしかないのだが<br />データを取り出す際には、fgetcsvよりもfile_get_contentsの方が<br />いいかもしれない。<br />他にもfile関数やfopen関数があるが、あまり変わらない<br />ということなので今回は試していない。<br /><br />参考にしたサイト： <a href="http://blog.ekeio.jp/2y/index.php?itemid=26">2Y's BLOG</a><br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>CSVファイルのデータをPHP⇒Smartyで使う</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2009/03/csvsmarty.html" />
    <id>tag:nini-design.com,2009:/nieks//2.59</id>

    <published>2009-03-06T14:07:43Z</published>
    <updated>2010-01-17T07:53:04Z</updated>

    <summary>CSVファイルから取り出したデータを配列に入れてSmartyで呼び出してみる。D...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
        <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Smarty" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="php" label="PHP" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[CSVファイルから取り出したデータを配列に入れて<br />Smartyで呼び出してみる。<br />DBが使えない環境でとりあえずの策として利用してみた。<br /><br />$fname = "csv/sample.csv";<br />$file = fopen($fname, "r");<br />$i = 0;<br />while(list($sp_date, $sp_title, $sp_detail, $sp_url, $sp_photo) = fgetcsv($file, 1000, ",")) {<br />&nbsp;&nbsp; &nbsp;$sp_data[$i]["sp_date"] = $sp_date;<br />&nbsp;&nbsp; &nbsp;$sp_data[$i]["sp_title"] = $sp_title;<br />&nbsp;&nbsp; &nbsp;$sp_data[$i]["sp_detail"] = $sp_detail;<br />&nbsp;&nbsp; &nbsp;$sp_data[$i]["sp_url"] = $sp_url;<br />&nbsp;&nbsp; &nbsp;$sp_data[$i]["sp_photo"] = $sp_photo;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;$i++;<br />}//end while<br />fclose($file);<br /><br />$smarty = new Smarty();<br />$smarty -&gt; assign("sp_data", $sp_data);<br />]]>
        
    </content>
</entry>

<entry>
    <title>IE6だけ読み込ませない条件分岐</title>
    <link rel="alternate" type="text/html" href="http://nini-design.com/nieks/2009/02/ie6.html" />
    <id>tag:nini-design.com,2009:/nieks//2.58</id>

    <published>2009-02-23T16:13:56Z</published>
    <updated>2010-01-17T07:53:04Z</updated>

    <summary>最近よく使うjavascriptで、ページ内をスムーズに動くというものがある。現...</summary>
    <author>
        <name>nini</name>
        
    </author>
    
        <category term="javascript" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://nini-design.com/nieks/">
        <![CDATA[最近よく使うjavascriptで、ページ内をスムーズに動くというものがある。<br />現在製作中のサイトでも使用しているが、残念なことにIE6では正常に動作しない。<br />記述の仕方が悪いのではと何度か書き替えてみたものの全く変わらず<br />結局、IE6のバグらしいというところに行き着いた。<br />「またか・・・」とため息をもらす。<br /><br />スムーズに移動しないどころかリンクに飛ばないという致命的な症状。<br />この際IE6は無視するか・・・というわけにもいかず（泣）<br />CSSハックでよく使う条件分岐を利用して、このスクリプトを<br />IE6だけ読み込ませないようにした。<br /><br />&lt;!--[if !lte IE 6]&gt;&lt;![IGNORE[--&gt;&lt;![IGNORE[]]&gt;<br />&lt;script type="text/javascript" src="xxxxx.js"&gt;&lt;/script&gt;<br />&lt;!--&lt;![endif]--&gt;<br /><br />CSSでは、IEだけ読み込ませる条件分岐をよく使うが<br />逆に読み込ませないという指定は今回初めて使用した。<br /><br />とにかく上記の条件分岐で、IE6以前のブラウザでは読み込ませないようにできた。<br />スムーズには移動しないが、リンクに飛べれば最低限OKということにした。<br /><br />ちなみにIEだけ読み込ませる条件分岐は下記の通り。<br />&lt;!--[if IE]&gt;<br />&lt;link href="css/ie.css" rel="stylesheet" type="text/css" /&gt;<br />&lt;![endif]--&gt;<br /><br />]]>
        
    </content>
</entry>

</feed>

