<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>PHPMEMO</title>
        <link>http://www.ayabin.jp/phpmemo/</link>
        <description></description>
        <language>ja</language>
        <copyright>Copyright 2010</copyright>
        <lastBuildDate>Thu, 07 Oct 2010 14:24:56 +0900</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>シャッフル</title>
            <description><![CDATA[<p>RSSから得たアイテム郡をランダムに表示（シャッフル表示）するコード。</p><p class="coding">/*RSS取得<br />----------------------------------------*/<br />$doc=new DOMDocument();<br />$doc-&gt;preserveWhiteSpace=FALSE;<br />$doc-&gt;load('contents/model/rss.xml');<br />$channel_root=$doc-&gt;getElementsByTagName('entry');<br />/*アイテムシャッフル<br />----------------------------------------*/<br />for($i=0;$i&lt;$channel_root-&gt;length;$i++){<br />&nbsp;$itemID[$i]=$i;<br />}<br />shuffle($itemID);<br /><br />/*解析・表示<br />----------------------------------------*/<br />for($i=0;$i&lt;$channel_root-&gt;length;$i++){<br />&nbsp; $title=mb_convert_encoding($channel_root-&gt;item($itemID[$i])-&gt;childNodes-&gt;item(0)-&gt;nodeValue,&quot;EUC-JP&quot;,&quot;auto&quot;);//必要があればエンコード<br />&nbsp; $link=$channel_root-&gt;item($itemID[$i])-&gt;childNodes-&gt;item(1)-&gt;nodeValue;<br />&nbsp; $summary=mb_convert_encoding($channel_root-&gt;item($itemID[$i])-&gt;childNodes-&gt;item(4)-&gt;nodeValue,&quot;EUC-JP&quot;,&quot;auto&quot;);<br />&nbsp; $category=mb_convert_encoding($channel_root-&gt;item($itemID[$i])-&gt;childNodes-&gt;item(6)-&gt;nodeValue,&quot;EUC-JP&quot;,&quot;auto&quot;);<br />&nbsp; $thumbnail=$channel_root-&gt;item($itemID[$i])-&gt;childNodes-&gt;item(8)-&gt;nodeValue;<br />&nbsp; $image=&quot;&lt;img src='$thumbnail' height='100' /&gt;&quot;;<br /><br />&nbsp; if($i%2==0){&nbsp; //左に表示<br />&nbsp;&nbsp;&nbsp; echo &quot;&lt;div class='item-left'&gt;&quot;;<br />&nbsp;&nbsp;&nbsp; echo &quot;&lt;div&gt;&lt;a href='$link'&gt;$image&lt;/a&gt;&lt;/div&gt;&quot;;<br />&nbsp;&nbsp;&nbsp; echo &quot;&lt;div&gt;&lt;a href='$link'&gt;$title&lt;/a&gt;&lt;/div&gt;&quot;;<br />&nbsp;&nbsp;&nbsp; echo &quot;&lt;div&gt;$summary&lt;/div&gt;&quot;;<br />&nbsp;&nbsp;&nbsp; echo &quot;&lt;div&gt;$category&lt;/div&gt;&quot;;<br />&nbsp;&nbsp;&nbsp; echo &quot;&lt;/div&gt;&quot;;<br />&nbsp; }else if($i%2==1){&nbsp; //右に表示<br />&nbsp;&nbsp;&nbsp; echo &quot;&lt;div class='item-right'&gt;&quot;;<br />&nbsp;&nbsp;&nbsp; echo &quot;&lt;div&gt;&lt;a href='$link'&gt;$image&lt;/a&gt;&lt;/div&gt;&quot;;<br />&nbsp;&nbsp;&nbsp; echo &quot;&lt;div&gt;&lt;a href='$link'&gt;$title&lt;/a&gt;&lt;/div&gt;&quot;;<br />&nbsp;&nbsp;&nbsp; echo &quot;&lt;div&gt;$summary&lt;/div&gt;&quot;;<br />&nbsp;&nbsp;&nbsp; echo &quot;&lt;div&gt;$category&lt;/div&gt;&quot;;<br />&nbsp;&nbsp;&nbsp; echo &quot;&lt;/div&gt;&quot;;<br />&nbsp; }<br />}</p>]]></description>
            <link>http://www.ayabin.jp/phpmemo/2010/10/post-5.html</link>
            <guid>http://www.ayabin.jp/phpmemo/2010/10/post-5.html</guid>
            
            
            <pubDate>Thu, 07 Oct 2010 14:24:56 +0900</pubDate>
        </item>
        
        <item>
            <title>タブ区切りテキストから要素抽出</title>
            <description><![CDATA[<p>「sample.txt」</p><p class="coding">金融&nbsp;○○銀行&nbsp;31.919343486354513&nbsp;131.42410174012184<br />大学&nbsp;○○大&nbsp;31.925758836563137&nbsp;131.41837522387504</p><p>&nbsp;以上のようなタブ区切り（カンマも可）テキストから要素をそれぞれ抽出するには、以下のようにすればよい。</p><p class="coding">$filename=&quot;sample.txt&quot;;<br />$file=fopen($filename,&quot;r&quot;);<br />flock($file,LOCK_EX);<br />while($data_ary=<span style="color: #ff0000">fgetcsv</span>($file,512,&quot;\t&quot;)){<br />&nbsp;&nbsp; echo&nbsp;$data_ary[0];<br />}<br />flock($file,LOCK_UN);<br />fclose($file);</p><p>「fgetcsv」は１行ごとに、デリミタで指定された区切り文字（\t）で分割して、指定された配列（$data_ary）に格納する。<br />「while」は「$data_ary」が「FALSE」になるまで（テキストの終端に行くまで）繰り返すので、すべての要素を抽出することができる。<br />&nbsp;</p>]]></description>
            <link>http://www.ayabin.jp/phpmemo/2010/04/post-4.html</link>
            <guid>http://www.ayabin.jp/phpmemo/2010/04/post-4.html</guid>
            
            
            <pubDate>Fri, 30 Apr 2010 15:39:42 +0900</pubDate>
        </item>
        
        <item>
            <title>文字列末尾の削除</title>
            <description><![CDATA[<p class="coding">$doc=&quot;aaa,bbb,ccc,&quot;;<br />
$doc=<span style="color: #ff0000">rtrim</span>($doc,&quot;,&quot;);</p>]]></description>
            <link>http://www.ayabin.jp/phpmemo/2010/04/post-3.html</link>
            <guid>http://www.ayabin.jp/phpmemo/2010/04/post-3.html</guid>
            
            
            <pubDate>Fri, 30 Apr 2010 15:34:36 +0900</pubDate>
        </item>
        
        <item>
            <title>fopen() の modeリスト </title>
            <description><![CDATA[<p><table class="doctable table"><tbody class="tbody" valign="middle"><tr valign="middle"><td align="left"><i>r</i></td><td align="left">読み込みのみでオープンします。ファイルポインタをファイルの先頭に置きます。</td></tr><tr valign="middle"><td align="left"><i>r+</i></td><td align="left">読み込み／書き出し用にオープンします。 ファイルポインタをファイルの先頭に置きます。</td></tr><tr valign="middle"><td align="left"><i>w</i></td><td align="left">書き出しのみでオープンします。ファイルポインタをファイルの先頭に置き、 ファイルサイズをゼロにします。ファイルが存在しない場合には、 作成を試みます。</td></tr><tr valign="middle"><td align="left"><i>w+</i></td><td align="left">読み込み／書き出し用でオープンします。 ファイルポインタをファイルの先頭に置き、 ファイルサイズをゼロにします。 ファイルが存在しない場合には、作成を試みます。</td></tr><tr valign="middle"><td align="left"><i>a</i></td><td align="left">書き出し用のみでオープンします。ファイルポインタをファイルの終端に置きます。 ファイルが存在しない場合には、作成を試みます。</td></tr><tr valign="middle"><td align="left"><i>a+</i></td><td align="left">読み込み／書き出し用でオープンします。 ファイルポインタをファイルの終端に置きます。 ファイルが存在しない場合には、作成を試みます。</td></tr><tr valign="middle"><td align="left"><i>x</i></td><td align="left">書き込みのみでオープンします。ファイルポインタをファイルの先頭に置きます。 ファイルが既に存在する場合には <b>fopen()</b> は失敗し、 <b><tt class="constant">E_WARNING</tt></b> レベルのエラーを発行します。 ファイルが存在しない場合には新規作成を試みます。 これは <i>open(2)</i> システムコールにおける <i>O_EXCL|O_CREAT</i> フラグの指定と等価です。 このオプションはPHP4.3.2以降でサポートされ、また、 ローカルファイルに対してのみ有効です。</td></tr><tr valign="middle"><td align="left"><i>x+</i></td><td align="left">読み込み／書き出し用でオープンします。ファイルポインタをファイルの先頭に置きます。 ファイルが既に存在する場合には <b>fopen()</b> は失敗し、 <b><tt class="constant">E_WARNING</tt></b> レベルのエラーを発行します。 これは <i>open(2)</i> システムコールにおける <i>O_EXCL|O_CREAT</i> フラグの指定と等価です。 このオプションは PHP 4.3.2 以降でサポートされ、また、 ローカルファイルに対してのみ有効です。</td></tr></tbody></table></p>]]></description>
            <link>http://www.ayabin.jp/phpmemo/2009/10/fopen-mode.html</link>
            <guid>http://www.ayabin.jp/phpmemo/2009/10/fopen-mode.html</guid>
            
            
            <pubDate>Sun, 18 Oct 2009 20:59:43 +0900</pubDate>
        </item>
        
        <item>
            <title>追加書き込み</title>
            <description><![CDATA[<p>上書きすることなく、１行ずつ追加していく場合のサンプル。<br />（サンプルはタブ区切り）</p><p class="coding">//変数<br />$date=$_GET['date'];<br />$hanchan=$_GET['hanchan'];<br />$point=$_GET['point1'];<br />$rt=$_GET['rt'];<br />$filename=&quot;file/fgetcsv.txt&quot;;<br /><br />//file書き込み<br />$file=fopen($filename,&quot;<span style="color: #008080">a+</span>&quot;);<br /><span style="color: #ff0000">flock</span>($file,<span style="color: #ff0000">LOCK_EX</span>);<br />$line=$date.&quot;\t&quot;.$hanchan.&quot;\t&quot;.$point.&quot;\t&quot;.$rt;<br /><span style="color: #ff0000">fputs</span>($file,$line.&quot;\n&quot;);<br /><span style="color: #ff0000">flock</span>($file,<span style="color: #ff0000">LOCK_UN</span>);<br />fclose($file);</p>]]></description>
            <link>http://www.ayabin.jp/phpmemo/2009/10/post-2.html</link>
            <guid>http://www.ayabin.jp/phpmemo/2009/10/post-2.html</guid>
            
            
            <pubDate>Sun, 18 Oct 2009 20:55:02 +0900</pubDate>
        </item>
        
        <item>
            <title>CSV読み込み(複数行)</title>
            <description><![CDATA[<p>「data/fgetcsv.txt」（タブ区切り）</p><p class="coding">20090404&nbsp;8&nbsp;-29&nbsp;-2<br />20090402&nbsp;5&nbsp;-115&nbsp;-8.1<br />20090413&nbsp;6&nbsp;84&nbsp;21.2<br />20090423&nbsp;7&nbsp;-143&nbsp;-10.7<br />20090427&nbsp;6&nbsp;17&nbsp;3.6<br />20090502&nbsp;9&nbsp;26&nbsp;7<br />20090509&nbsp;9&nbsp;160&nbsp;32.9&nbsp;</p><p>以上を読み込み表示させるサンプル<br />（デリミタのデフォルトはカンマ「,」。サンプルではタブ（￥ｔ）で読み込んでいる）</p><p class="coding">&lt;?php<br />$file=<span style="color: #ff0000">fopen</span>(&quot;data/fgetcsv.txt&quot;,&quot;<span style="color: #ff0000">r</span>&quot;);<br />//１行ずつ解析<br />while($arydat=<span style="color: #ff0000">fgetcsv</span>($file,500,&quot;<span style="color: #ff0000">\t</span>&quot;)){<br />&nbsp;<span style="color: #ff0000">for($i=0;$i&lt;count($arydat);$i++)</span>{<br />&nbsp;&nbsp;//１つずつ解析<br />&nbsp;&nbsp;switch($i%4){<br />&nbsp;&nbsp;&nbsp;case 0: echo $date=$arydat[$i].&quot;&amp;nbsp;&quot;;<br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;case 1 :echo $hanchan=$arydat[$i].&quot;&amp;nbsp;&quot;;<br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;case 2 :echo $gross=$arydat[$i].&quot;&amp;nbsp;&quot;;<br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;case 3 :echo $rate=$arydat[$i].&quot;&lt;br /&gt;&quot;;<br />&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;}<br />&nbsp;}<br />}<br /><span style="color: #ff0000">fclose</span>($file);<br />?&gt;</p><p>csvファイルと同様の結果が得られる</p>]]></description>
            <link>http://www.ayabin.jp/phpmemo/2009/10/csv-1.html</link>
            <guid>http://www.ayabin.jp/phpmemo/2009/10/csv-1.html</guid>
            
            
            <pubDate>Sun, 18 Oct 2009 20:35:03 +0900</pubDate>
        </item>
        
        <item>
            <title>CSV書き込み(1行)</title>
            <description><![CDATA[<p class="coding">&lt;?php<br />$arnaud_red=$_GET['arnaud_red'];<br />$arnaud_white=$_GET['arnaud_white'];<br />$arnaud6_red=$_GET['arnaud6_red'];<br />$arnaud6_white=$_GET['arnaud6_white'];<br />$oooka_red=$_GET['oooka_red'];<br />$oooka_white=$_GET['oooka_white'];<br />$philippe=$_GET['philippe'];<br />$christophe=$_GET['christophe'];<br />$letemps=$_GET['letemps'];<br /><br />$fp=<span style="color: #ff0000">fopen</span>(&quot;data/data.csv&quot;,&quot;w&quot;);<br /><span style="color: #ff0000">fputcsv</span>($fp,array($arnaud_red,$arnaud_white,$arnaud6_red,$arnaud6_white,$oooka_red,<br />$oooka_white,$philippe,$christophe,$letemps),<span style="color: #ff0000">&quot;,&quot;</span>);<br />header(&quot;Location: manager.php&quot;);<br />?&gt;</p><p>上記を実行すると、以下のファイルが生成される<br />「data/data.csv」</p><p class="coding">0,1,1,0,1,0,1,0,0</p>]]></description>
            <link>http://www.ayabin.jp/phpmemo/2009/10/csv1.html</link>
            <guid>http://www.ayabin.jp/phpmemo/2009/10/csv1.html</guid>
            
            
            <pubDate>Sun, 18 Oct 2009 19:48:24 +0900</pubDate>
        </item>
        
        <item>
            <title>CSV読み込み(1行)</title>
            <description><![CDATA[<p>「data/data.csv」&nbsp;</p><p class="coding">0,1,1,0,1,0,1,0,0&nbsp;</p><p>以上のCSVファイルを読み込むには</p><p class="coding">&lt;?php<br />$lines=<span style="color: #ff0000">file</span>(&quot;data/data.csv&quot;);<br /><span style="color: #ff0000">foreach</span>($lines as $l){<br />&nbsp;&nbsp; &nbsp;$op=<span style="color: #ff0000">explode</span>(&quot;,&quot;,$l);<br />&nbsp;&nbsp;&nbsp;&nbsp;$arnaud_red_so=$op[0];<br />&nbsp;&nbsp;&nbsp;&nbsp;$arnaud_white_so=$op[1];<br />&nbsp;&nbsp;&nbsp;&nbsp;$arnaud6_red_so=$op[2];<br />&nbsp;&nbsp;&nbsp;&nbsp;$arnaud6_white_so=$op[3];<br />&nbsp;&nbsp;&nbsp;&nbsp;$oooka_red_so=$op[4];<br />&nbsp;&nbsp;&nbsp;&nbsp;$oooka_white_so=$op[5];<br />&nbsp;&nbsp;&nbsp;&nbsp;$philippe_so=$op[6];<br />&nbsp;&nbsp;&nbsp;&nbsp;$christophe_so=$op[7];<br />&nbsp;&nbsp;&nbsp;&nbsp;$letemps_so=$op[8];<br />}<br />?&gt;</p>]]></description>
            <link>http://www.ayabin.jp/phpmemo/2009/10/csv.html</link>
            <guid>http://www.ayabin.jp/phpmemo/2009/10/csv.html</guid>
            
            
            <pubDate>Sun, 18 Oct 2009 19:36:32 +0900</pubDate>
        </item>
        
        <item>
            <title>メール送信</title>
            <description><![CDATA[<p>マルチバイトでメールをサーバから送信する場合は、</p><p>「<span style="color: #ff0000">mb_send_mail(送信先,件名,内容,差出人);</span>」</p><p>関数を使用する。<br />エンコードは、大抵の場合、「iso-2022」で文字化けしないはず。<br /><br />サンプルは、別ファイルのフォームから、「GET」で変数が送信された場合の処理。</p><p class="coding">&lt;?php<br />//送信先メールアドレス<br />$to=&quot;<a href="mailto:xxxxx@ayabin.jp">xxxxx@ayabin.jp</a>&quot;;<br />//差出人（架空のもので可）<br />$from=&quot;<a href="mailto:ppppp@ayabin.jp">ppppp@ayabin.jp</a>&quot;;<br />//件名（要エンコード）<br />$subject=mb_convert_encoding(&quot;【予約メール】&quot;,&quot;<span style="color: #ff0000">iso-2022-jp</span>&quot;,&quot;auto&quot;);<br />//予約内容<br />$cont=&quot;【ボジョレーヌーボー予約】\n\n&quot;;<br />//お客様情報<br />$name=$_GET['name'];<br />$kana=$_GET['kana'];<br />$shop=$_GET['shop'];<br />$email=$_GET['email'];<br />$tel=$_GET['tel'];<br /><br />mb_language(&quot;japanese&quot;);<br />mb_internal_encoding(&quot;EUC-JP&quot;);//内部エンコーディング指定。不要かもしれない<br /><br />/*お客様情報*/<br />$cont.=&quot;\nお名前：&quot;.$name;<br />$cont.=&quot;\nよみがな：&quot;.$kana;<br />$cont.=&quot;\nお引渡し店舗：&quot;.$shop;<br />$cont.=&quot;\nメールアドレス&quot;.$email;<br />$cont.=&quot;\nご連絡先：&quot;.$tel;<br />//内容をまとめてエンコード<br />$body=mb_convert_encoding($cont,&quot;<span style="color: #ff0000">iso-2022-jp</span>&quot;,&quot;auto&quot;);<br />//マルチバイト用メール送信関数<br /><span style="color: #ff0000">mb_send_mail</span>($to,$subject,$body,&quot;From:&quot;.$from); <br />header('Location: ../thanks.php');<br />?&gt;</p>]]></description>
            <link>http://www.ayabin.jp/phpmemo/2009/10/post-1.html</link>
            <guid>http://www.ayabin.jp/phpmemo/2009/10/post-1.html</guid>
            
            
            <pubDate>Sun, 18 Oct 2009 18:05:21 +0900</pubDate>
        </item>
        
        <item>
            <title>ファイルアップロード</title>
            <description><![CDATA[<p><strong>[PDFをアップロードする場合]</strong></p><p>【送信側】「manager.php」</p><p class="coding">&lt;form action=&quot;write.php&quot; method=&quot;<span style="color: #ff0000">post</span>&quot; enctype=&quot;<span style="color: #ff0000">multipart/form-data</span>&quot;&gt;<br />&lt;input type=&quot;<span style="color: #ff0000">file</span>&quot; name=&quot;<span style="color: #333399">pdf</span>&quot; /&gt;<br />&lt;input type=&quot;<span style="color: #ff0000">submit</span>&quot; &quot; value=&quot;送信&quot; /&gt;<br />&lt;/form&gt;</p><p>【受信側・書き込み】「write.php」</p><p class="coding">&lt;?php<br />//アップロードするディレクトリのパス<br />$updir=&quot;../chirashi/&quot;;<br />//ファイルネーム<br />$filename=&quot;chirashi.pdf&quot;;<br />//ファイルアップロード<br />if (<span style="color: #ff0000">move_uploaded_file($_FILES['</span><span style="color: #666699">pdf</span><span style="color: #ff0000">']['tmp_name'], $updir.$filename)</span> == TRUE){<br />&nbsp;&nbsp;&nbsp; header(&quot;Location: manager.php&quot;);<br />}else {<br />&nbsp;&nbsp;&nbsp; echo &quot;アップロードに失敗しました&quot;;<br />}?&gt;</p><p><span style="color: #ff0000">赤</span>は絶対。<span style="color: #666699">青</span>は任意。</p>]]></description>
            <link>http://www.ayabin.jp/phpmemo/2009/10/post.html</link>
            <guid>http://www.ayabin.jp/phpmemo/2009/10/post.html</guid>
            
            
            <pubDate>Sat, 17 Oct 2009 22:33:59 +0900</pubDate>
        </item>
        
    </channel>
</rss>

