<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>pg-info</title>
	<atom:link href="http://pg.4696.info/feed" rel="self" type="application/rss+xml" />
	<link>http://pg.4696.info</link>
	<description>in 4696.info</description>
	<lastBuildDate>Wed, 16 May 2012 01:01:58 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Coldfusionでrss出力</title>
		<link>http://pg.4696.info/cf/cf-rss.html</link>
		<comments>http://pg.4696.info/cf/cf-rss.html#comments</comments>
		<pubDate>Tue, 15 May 2012 14:33:21 +0000</pubDate>
		<dc:creator>4696</dc:creator>
				<category><![CDATA[Coldfusion]]></category>
		<category><![CDATA[ColdFusion9]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://pg.4696.info/?p=57</guid>
		<description><![CDATA[今更やけどColdfusionでrssの出力。 今まで要件はなかったなぁ・・・。 Coldfusionのバージョンは「9.0.1」です。 Coldfusionにはfeed出力に便利なタグがあるんでこれを利用。 Coldf [...]]]></description>
			<content:encoded><![CDATA[				<p>今更やけど<strong>Coldfusion</strong>で<strong>rss</strong>の出力。<br />
				今まで要件はなかったなぁ・・・。</p>
				<p>Coldfusionのバージョンは「9.0.1」です。</p>
				<p>Coldfusionにはfeed出力に便利なタグがあるんでこれを利用。<br />
				Coldfusionタグ：<a href="http://help.adobe.com/ja_JP/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7675.html">cffeed</a></p>
				<p>お知らせなんかをrssで出力するcfcを作りました。</p>
				<pre>
&lt;cfcomponent output="false" displayname="outputFeed" hint="FEED出力コンポーネント"&gt;
    &lt;cffunction name="createNewsRss" access="public"&gt;
        &lt;cfargument name="argDsn" required="true" type="string" hint="データソース名"&gt;
        &lt;cfargument name="argNewsUrl" required="true" type="string" default="" hint="ニュース参照URL"&gt;
        &lt;cfargument name="argFilePath" required="true" type="string" default="" hint="FeedXML出力パス"&gt;

        &lt;!--- FEED項目マップ(このあとで取得するクエリーの列名を設定します) ---&gt;
        &lt;cfset columnMapStruct = StructNew()&gt;
        &lt;cfset columnMapStruct.publisheddate = "OPEN_DATE"&gt;         &lt;!--- 公開日 ---&gt;
        &lt;cfset columnMapStruct.title = "TITLE"&gt;                     &lt;!--- 見出し ---&gt;
        &lt;cfset columnMapStruct.content = "CONTENTS"&gt;                &lt;!--- 内容 ---&gt;
        &lt;cfset columnMapStruct.rsslink = "LINK_URL"&gt;                &lt;!--- お知らせページのリンク先URL ---&gt;
        &lt;cfset columnMapStruct.categorylabel = "CATEGORY_NAME"&gt;     &lt;!--- カテゴリーラベル ---&gt;

        &lt;!--- お知らせをDBから公開日が新しいもの順で取得します ---&gt;
        &lt;cfquery name="qryNews" datasource="#argDsn#"&gt;
            select
                NEWS_ID
                ,TITLE
                ,CONTENTS
                ,CATEGORY_NAME
                ,('#argNewsUrl#' + NEWS_ID) as LINK_URL
                ,OPEN_DATE
            from
                NEWS_TABLE
            where
                OPEN_DATE &lt;= &lt;cfqueryparam value="#now()#" cfsqltype="CF_SQL_TIMESTAMP"&gt;
            order by
                OPEN_DATE desc
                ,NEWS_ID desc
        &lt;/cfquery&gt;

        &lt;cfif qryNews.recordcount gt 0&gt;
            &lt;!--- Set the feed metadata. ---&gt;
            &lt;cfset meta.title = "pg-info"&gt;                      &lt;!--- サイト名など ---&gt;
            &lt;cfset meta.link = "http://pg.4696.info/"&gt;          &lt;!--- サイトのURLなど ---&gt;
            &lt;cfset meta.description = "in 4696.info"&gt;           &lt;!--- サイトの説明など ---&gt;
            &lt;cfset meta.version = "rss_2.0"&gt;

            &lt;!--- Feedを出力 ---&gt;
            &lt;cffeed action="create"
                query="#qryNewsList#"
                properties="#meta#"
                columnMap="#columnMapStruct#"
                xmlvar="rssXML"
                outputFile = "#argFilePath#rss.xml"
                overwrite = "Yes"
                &gt;
&lt;!--- 確認用の画面出力
            &lt;cfdump var="#XMLParse(rssXML)#"&gt;
---&gt;
        &lt;/cfif&gt;

    &lt;/cffunction&gt;
&lt;/cfcomponent&gt;
</pre>
				<p>これでお知らせをrss.xmlとして任意のディレクトリに出力することができます。<br />
				詳しくは、Coldfusionの<a href="http://help.adobe.com/ja_JP/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7675.html">cffeedのドキュメント</a>を参照してください。<br />
				サンプルのまんま必要な箇所を作っただけなんで</p>
]]></content:encoded>
			<wfw:commentRss>http://pg.4696.info/cf/cf-rss.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodeIgniter 2.0.3 で TCPDF</title>
		<link>http://pg.4696.info/php/codeigniter/ci-tcpdf.html</link>
		<comments>http://pg.4696.info/php/codeigniter/ci-tcpdf.html#comments</comments>
		<pubDate>Mon, 23 Apr 2012 12:25:47 +0000</pubDate>
		<dc:creator>4696</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[TCPDF]]></category>

		<guid isPermaLink="false">http://pg.4696.info/?p=54</guid>
		<description><![CDATA[CodeIgniter 2.0.1ja以上2.0.3jaなら全部OK。 2.0.1jaでインストールして今2.0.3jaで使ってるから TCPDFのダウンロード http://sourceforge.net/projec [...]]]></description>
			<content:encoded><![CDATA[				<p><a href="http://codeigniter.jp/">CodeIgniter</a> 2.0.1ja以上2.0.3jaなら全部OK。<br />
				2.0.1jaでインストールして今2.0.3jaで使ってるから</p>
				<ol>
				<li>TCPDFのダウンロード<br />
				<a href="http://sourceforge.net/projects/tcpdf/files/">http://sourceforge.net/projects/tcpdf/files/</a><br />
				ここから最新のzip アーカイブをダウンロードする。</li>
				<li>Codeigniterへのインストール<br />
				執筆時点のバージョンは5.9.158なんで<br />
				tcpdf_5_9_158.zipをダウンロード。<br />
				ダウンロードしたファイルを展開。<br />
				展開すると「tcpdf」フォルダがあります。</p>
				<p>この「tcpdf」フォルダを「/application/third_party」フォルダにコピーします。<br />
				今回は「third_party」へのコピーという方法をとっていますが、「/application/libraries」にコピーする方法もあるかと
				</li>
				<li>ユーザーライブラリの作成<br />
				「/application/libraries」にユーザーライブラリファイルを作成。<br />
				「pdf.php」というファイルを追加しました。<br />
				ファイルの内容は次のとおり</p>
				<p></p><pre class="crayon-plain-tag">&lt;?php (defined('BASEPATH')) OR exit('No direct script access allowed');

# include TCPDF
require_once(APPPATH.'third_party/tcpdf/config/lang/jpn.php');
require_once(APPPATH.'third_party/tcpdf/tcpdf.php');


/**
 * TCPDF - CodeIgniter Integration
 */
class pdf extends TCPDF {
    
    /**
     * Initialize 
     *
     */
    function __construct($params = array()) 
    {
        $orientation = 'P';
        $unit = 'mm';
        $format = 'A4';
        $unicode = true;
        $encoding = 'UTF-8';
        $diskcache = false;
        
        if (isset($params['orientation'])) {
            $orientation = $params['orientation'];
        }
        if (isset($params['unit'])) {
            $unit = $params['unit'];
        }
        if (isset($params['format'])) {
            $format = $params['format'];
        }
        if (isset($params['encoding'])) {
            $encoding = $params['encoding'];
        }
        if (isset($params['diskcache'])) {
            $diskcache = $params['diskcache'];
        }

        # initialize TCPDF
        parent::__construct($orientation, $unit, $format, $unicode, $encoding, $diskcache);
    }
}

// END pdf Class

/* End of file pdf.php */
/* Location: ./application/libraries/pdf.php */</pre>				<p>これで、使用する準備は完了。<br />
				あとはコントローラーで、呼び出して使うだけ。
				</li>
				</ul>
				<h3>呼び出しサンプル</h3>
				<p></p><pre class="crayon-plain-tag">class samplepdf extends CI_Controller {

    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this-&gt;printPdf();
    }

    private function printPdf()
    {
        // PDFライブラリ呼出
        $this-&gt;load-&gt;library('pdf');

        // ページ向き(横)
        $pageOrientation = 'L';
        // ページフォーマット
        $pageFormat = 'A4';

        $pdf = new TCPDF($pageOrientation, 'pt', $pageFormat, true, 'UTF-8', false);

        ここにTCPDFのロジック

        $pdf-&gt;Close();
        $pdf-&gt;Output(&quot;ファイル名&quot;.'.pdf','I');

        exit;
    }
}</pre>]]></content:encoded>
			<wfw:commentRss>http://pg.4696.info/php/codeigniter/ci-tcpdf.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codeigniter で PHPExcel</title>
		<link>http://pg.4696.info/php/codeigniter/ci-phpexcel.html</link>
		<comments>http://pg.4696.info/php/codeigniter/ci-phpexcel.html#comments</comments>
		<pubDate>Tue, 13 Dec 2011 13:34:07 +0000</pubDate>
		<dc:creator>4696</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHPExcel]]></category>

		<guid isPermaLink="false">http://pg.4696.info/?p=49</guid>
		<description><![CDATA[Codeigniterの使用バージョン 2.0.3 ja PHPExcelをサイトからダウンロード PHPExcel PEAR版もあるが、使っていないので通常版 PHPExcel 1.7.6 (ダウンロード時のバージョン [...]]]></description>
			<content:encoded><![CDATA[				<p><a href="http://codeigniter.jp/">Codeigniter</a>の使用バージョン 2.0.3 ja</p>
				<p>PHPExcelをサイトからダウンロード<br />
				<a href="http://phpexcel.codeplex.com/">PHPExcel</a><br />
				PEAR版もあるが、使っていないので通常版 PHPExcel 1.7.6 (ダウンロード時のバージョン)</p>
				<p>ダウンロードファイルを解凍し、以下のファイルをCodeigniterの application/libraries にコピー<br />
				PHPExcel1.7.6\Classes\PHPExcel<br />
				PHPExcel1.7.6\Classes\PHPExcel.php</p>
				<p>とあるサイトには、</p>
				<p></p><pre class="crayon-plain-tag">$this-&gt;load-&gt;library(&quot;PHPExcel&quot;);
$this-&gt;load-&gt;library(&quot;PHPExcel/IOFactory&quot;);
・
・
$objWriter = IOFactory::createWriter($objPHPExcel, &quot;Excel5&quot;);
・
・</pre>				<p>とこのように書かれていましたが、動きません。エラーとなります。<br />
				PHPExcelのバージョンも1.7.6と書かれていますが・・・</p>
				<p>まず、「PHPExcel/IOFactory」ですが<br />
				ファイルの中を見るとクラス名は、「PHPExcel_IOFactory」となっています。<br />
				また、「__construct」は「private」です。<br />
				ロードできるわけがない。<br />
				たぶん、動かしてないんだろう。</p>
				<p>実際ダウンロードしたファイルにサンプルが入っているんだが<br />
				「IOFactory」をロードする必要なんかないし・・・</p>
				<p>実際Codeigniterで動作させたサンプルコードは以下。<br />
				ダウンロードするのが目的なんで<br />
				test\01simple-download-xls.php を Codeigniter に組み込みました。</p>
				<p></p><pre class="crayon-plain-tag">class Sampleexcel extends CI_Controller {

    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this-&gt;downloadExcel();
    }

    private function downloadExcel()
    {
        $this-&gt;load-&gt;library(&quot;phpexcel&quot;);

        // Create new PHPExcel object
        $objPHPExcel = new PHPExcel();
        // Set properties
        $objPHPExcel-&gt;getProperties()-&gt;setCreator(&quot;Maarten Balliauw&quot;)
                    -&gt;setLastModifiedBy(&quot;Maarten Balliauw&quot;)
                    -&gt;setTitle(&quot;Office 2007 XLSX Test Document&quot;)
                    -&gt;setSubject(&quot;Office 2007 XLSX Test Document&quot;)
                    -&gt;setDescription(&quot;Test document for Office 2007 XLSX, generated using PHP classes.&quot;)
                    -&gt;setKeywords(&quot;office 2007 openxml php&quot;)
                    -&gt;setCategory(&quot;Test result file&quot;);

        // Add some data
        $objPHPExcel-&gt;setActiveSheetIndex(0)
                    -&gt;setCellValue('A1', mb_convert_encoding('日本語','UTF-8', mb_internal_encoding()))
                    -&gt;setCellValue('B2', mb_convert_encoding('テストです。','UTF-8', mb_internal_encoding()))
                    -&gt;setCellValue('C1', mb_convert_encoding('文字エンコード','UTF-8', mb_internal_encoding()))
                    -&gt;setCellValue('D2', mb_convert_encoding('EUCなんですけど','UTF-8', mb_internal_encoding()));

        // Miscellaneous glyphs, UTF-8
        $objPHPExcel-&gt;setActiveSheetIndex(0)
                    -&gt;setCellValue('A4', 'Miscellaneous glyphs')
                    -&gt;setCellValue('A5', '&eacute;&agrave;&egrave;&ugrave;&acirc;&ecirc;&icirc;&ocirc;&ucirc;&euml;&iuml;&uuml;&yuml;&auml;&ouml;&uuml;&ccedil;');

        // Rename sheet
        $objPHPExcel-&gt;getActiveSheet()-&gt;setTitle('Simple');

        // Set active sheet index to the first sheet, so Excel opens this as the first sheet
        $objPHPExcel-&gt;setActiveSheetIndex(0);

        // Redirect output to a client&rsquo;s web browser (Excel5)
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename=&quot;01simple.xls&quot;');
        header('Cache-Control: max-age=0');

        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter-&gt;save('php://output');
        exit;
    }

}</pre><p>これをVIEWからリンクなどで呼び出すと「01simple.xls」ファイルとしてダウンロードできます。<br />
				日本語テストも兼ねてます。</p>
]]></content:encoded>
			<wfw:commentRss>http://pg.4696.info/php/codeigniter/ci-phpexcel.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codeigniter 2.0.1 でxajaxを使用する</title>
		<link>http://pg.4696.info/php/codeigniter/ci-xajax2.html</link>
		<comments>http://pg.4696.info/php/codeigniter/ci-xajax2.html#comments</comments>
		<pubDate>Sun, 26 Jun 2011 02:27:47 +0000</pubDate>
		<dc:creator>4696</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[xajax]]></category>

		<guid isPermaLink="false">http://pg.4696.info/?p=47</guid>
		<description><![CDATA[以前、xajax をCodeigniter 1.7.1に組み込んだのだが その時はpluginとして組み込んでみたのだが 2.0でpluginは無くなっているのでlibraryとして組み込む。 xajaxのバージョンは「 [...]]]></description>
			<content:encoded><![CDATA[				<p>以前、<strong>xajax</strong> を<a href="http://codeigniter.jp/">Codeigniter</a> 1.7.1に組み込んだのだが<br />
				その時はpluginとして組み込んでみたのだが<br />
				2.0でpluginは無くなっているのでlibraryとして組み込む。</p>
				<p>xajaxのバージョンは「0.5 Final」<br />
				0.6では、PHP 5.3に対応しているようだが<br />
				今回のPHPは、5.2系なので「xajax 0.5 Final」を使用する。</p>
				<p><a href="http://www.xajax-project.org/en/home/" target="_blank">xajax-project</a>のダウンロードページから「xajax 0.5 minimal」をダウンロード。（これはおこのみやね）</p>
				<p>ダウンロードして圧縮ファイルを展開<br />
				展開された「xajax_core」フォルダごと「/application/libraries」へコピー。<br />
				「xajax_core」フォルダを「xajax」へリネーム<br />
				「xajax」フォルダの中にある「xajax.inc.php」を「xajax.php」にリネーム。<br />
				「xajax_js」フォルダはドキュメントルートへフォルダごとコピー。</p>
				<p>これで準備は完了。</p>
				<p>あとは、コントローラーファイルでライブラリをロードするだけ。</p><pre class="crayon-plain-tag">$this-&gt;load-&gt;library( 'xajax' );</pre>				<p>Codeigniterの「<strong>クロスサイトリクエストフォージェリ (CSRF)</strong>」をconfigで有効にしている<br />
				xajaxは動作しません。<br />
				configでは「FALSE」に設定し、各コントローラーで個別に実装する必要があります。</p>
				<p>jqueryでは、対応サンプルが公開されているようですが。<br />
				<a href="http://aymsystems.com/ajax-csrf-protection-codeigniter-20">AJAX with CSRF Protection in Codeigniter 2.0</a></p>
				<p>今回は、「クロスサイトリクエストフォージェリ (CSRF)」に関しては自動化ではなく、個別実装の方法をとっています。</p>
]]></content:encoded>
			<wfw:commentRss>http://pg.4696.info/php/codeigniter/ci-xajax2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPでExcel</title>
		<link>http://pg.4696.info/php/codeigniter/ci_excel.html</link>
		<comments>http://pg.4696.info/php/codeigniter/ci_excel.html#comments</comments>
		<pubDate>Sun, 21 Jun 2009 11:29:18 +0000</pubDate>
		<dc:creator>4696</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://pg.4696.info/?p=46</guid>
		<description><![CDATA[Excel出力の案件があったんでCodeIgniterに組み込んでおく。 今は、暗礁にのりあげてるけどなぁ。 PHPでExcelを出力するライブラリーを調べたところ Excel_Reviser と PHPExcel が候 [...]]]></description>
			<content:encoded><![CDATA[				<p><strong>Excel出力</strong>の案件があったんで<strong>CodeIgniter</strong>に組み込んでおく。<br />
				今は、暗礁にのりあげてるけどなぁ。<br />
				<span id="more-46"></span><br />
				PHPでExcelを出力するライブラリーを調べたところ<br />
				<strong>Excel_Reviser</strong> と <strong>PHPExcel</strong> が候補となる。</p>
				<p>Excel_Reviserの対応ファイル形式は、<br />
				BIFF8形式（Excel97～2003）<br />
				事前にテンプレートファイルを作成しておいて、そのExcelファイルを読み込み<br />
				セルに値をセットしていく　というのが使い方かな</p>
				<p>一方PHPExcelはExcel2007の読込に対応。Excelファイルを読み込むことは当然で新規に作成することもできるようだ。</p>
				<p>とりあえず今回は自分のPCにはExcel2003しか入ってないのでExcel_Reviserを組み込む。<br />
				（一応PHPExcelも組み込んではみたが）</p>
				<h2>１．ダウンロード</h2>
				<p><a href="http://chazuke.com/">茶漬けブログ</a>さんのところからダウンロード</p>
				<h2>2.ファイルをコピー</h2>
				<p>ダウンロードしたファイルを解凍するとこんな感じ<br />
				<img src="http://pg.4696.info/wp-content/uploads/2009/05/file_3481.png" alt="file" title="file" width="137" height="52" class="alignleft size-full wp-image-179" /><br />
				その中の「reviser.php」をincludeが通っている場所にコピー。<br />
				今回は、system/application/user_lib というディレクトリを作って、ここにInclude_pathを設定している。<br />
				Include_pathの設定は、ルートにindex.phpで行っている。</p><pre class="crayon-plain-tag">//独自のインクルードパスを追加
ini_set( 'include_path', APPPATH . 'user_lib/' . PATH_SEPARATOR . APPPATH . 'user_lib' );
/*
|---------------------------------------------------------------
| LOAD THE FRONT CONTROLLER
|---------------------------------------------------------------
|
| And away we go...
|
*/
require_once BASEPATH.'codeigniter/CodeIgniter'.EXT;

/* End of file index.php */
/* Location: ./index.php */</pre>				<h2>3.ライブラリファイルの作成</h2>
				<p>system/application/libraries/配下にExcelr.phpを作成。</p>
				<p>ソース</p><pre class="crayon-plain-tag">&lt;?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');   
  
class Excelr  
{
    // public variable to store an instance of the PHPExcel object
    public $workbook = '';

    // class constructor
    public function __construct()
    {   
        require_once('excelreviser/reviser.php');

        // instantiate the object
        return $this-&gt;new_workbook();
  
    } // end constructor
  
    // new workbook function
    private function new_workbook() {
  
        // reset the workbook to a new object
        unset($this-&gt;workbook);
        $this-&gt;workbook =new Excel_Reviser;

        // ファイルの文字コードをShift_jisに設定
        $this-&gt;workbook-&gt;setInternalCharset('shift_jis');

        if(isset($this-&gt;workbook)) {
            return TRUE;
        } else {
            return FALSE;
        }

    } // end function to start a new workbook
}
// END Excelr Class

/* End of file Excelr.php */
/* Location: ./system/application/libraries/Excelr.php */</pre>				<h2>4.サンプル</h2>
				<p>コントローラー</p><pre class="crayon-plain-tag">&lt;?php

class TestExcelr extends Controller {

    public function __construct()
    {
        parent:: Controller();

        $this-&gt;load-&gt;library('excelr'); 
    }

    function index()
    {
        $this-&gt;load-&gt;view('excel_index');
    }

    public function Sample1 () 
    {
        // 既存の文字を書き換える例です
        // changeStrは今後削除する可能性が有ります。できるだけ利用を避けて下さい
        $this-&gt;excelr-&gt;workbook-&gt;changeStr('[顧客名]', 'ミッキー鼠');
        $this-&gt;excelr-&gt;workbook-&gt;changeStr('[管理番号]', 'CHAZUKE001');
        $this-&gt;excelr-&gt;workbook-&gt;changeStr('[備考]', 'これは、Reviserのテスト用サンプルです');

        // 空白セルに文字を追加する例です
        $this-&gt;excelr-&gt;workbook-&gt;addString(0,18,0, 'サンバイザー');
        $this-&gt;excelr-&gt;workbook-&gt;addString(0,19,0, 'ミニーとのデート券');

        // 空白セルに数値を追加する例です
        $this-&gt;excelr-&gt;workbook-&gt;addNumber(0,18,2, 2980);
        $this-&gt;excelr-&gt;workbook-&gt;addNumber(0,18,3, 2);
        $this-&gt;excelr-&gt;workbook-&gt;addNumber(0,19,2, 20000);
        $this-&gt;excelr-&gt;workbook-&gt;addNumber(0,19,3, 1);

        // 日時も数値として追加します。UNIXタイムは事前にMSタイムに変更します
        $mst=strtotime(&quot;2006-11-23 11:27:35&quot;);  // UNIXタイムを取得
        $this-&gt;excelr-&gt;workbook-&gt;addNumber(0,45,0, unixtime2ms($mst));

        // シート名を書き換える例です
        $this-&gt;excelr-&gt;workbook-&gt;setSheetname(0,'ミッキー様');

        // フッターを書き換える例です
        // ヘッダー/フッター用のコマンド(&amp;C &amp;R 等)を入れることができます
        $this-&gt;excelr-&gt;workbook-&gt;setFooter(0,'&amp;CExcel_Reviser Ver0.10beta');

        // ヘッダーを書き換える例です
        $this-&gt;excelr-&gt;workbook-&gt;setHeader(0,'&amp;CExcel_Reviser &amp;Rベータ版');

        // セルにハイパーリンクを追加する例です。
        $this-&gt;excelr-&gt;workbook-&gt;addHLink(0,48,0,'リンクテスト','http://chazuke.com/');

        // シートを削除する例です。
        $this-&gt;excelr-&gt;workbook-&gt;rmSheet(1);

        // セルを削除する例です。
        $this-&gt;excelr-&gt;workbook-&gt;rmCell(0,46,2);

        // 入力出力ファイル名の設定
        $readfile=BASEPATH.'application/controllers/excel/template/sample1_bill.xls'; // テンプレートファイルの指定
        $outfile=&quot;test.xls&quot;;           // 出力するファイル名です

        // 最後に書換えを実行します
        $this-&gt;excelr-&gt;workbook-&gt;reviseFile($readfile,$outfile);

    }

    public function Sample2()
    {
        // データベースからの読込みの代用です。配列 $access[月][日]に１日毎の数を入れます
        //　本来はデータベースから読み込みます
        $access[]=array(526,685,715,825,966,125,256,312,255,22,1022,666,251,245,256,333,
                           99,125,321,432,555,235,265,222,555,223,235,256,258,299,301);
        $access[]=array(222,323,123,44,99,87,55,23,16,5,15,67,88,76,97,44,
                           99,123,134,152,155,135,165,122,255,123,135,156);
        $access[]=array(226,385,315,325,466,225,356,212,355,122,722,666,551,445,356,233,
                           199,225,321,432,445,335,365,322,455,323,135,256,358,199,201);
        $access[]=array(326,385,315,325,366,225,356,212,355,222,222,366,351,345,356,233,
                           299,125,421,432,255,335,365,322,455,423,335,356,358,199);
        // $access[]=array(326,385,315,325,366,225,356,212,355,222,222,366);

        // バージョン依存のメソッドが有る為、includeしたReviserの
        // バージョンを事前チェックします
        if (!defined('Reviser_Version')) die('&quot;reviser.php&quot; is not included.');
        if (!defined('Version_Num')) die('unknown Excel_Revise\'s version');
        if (Version_Num &lt; 0.20 )
                die('Excel_Revise\'s version is not match.');

        // もしも、EUC-JP以外の文字コードを使用している場合は
        //　最初に文字コードの設定を変更しておきます
        //　変更した場合は、このファイルもその文字コードで保存し直しが必要です
        // $reviser-&gt;setInternalCharset('utf-8');

        // このサンプルでは、追加したシート内にはグラフオブジェクトが有り
        // それぞれ同じシート内のセルを参照しているため参照先変更を有効にします
        // ちなみに、 この値を 0 にすると各シートのグラフはすべて元(最初の)シート
        // のセルを参照します。試してみてください
        $this-&gt;excelr-&gt;workbook-&gt;setOptionRef3d(1);


        // シートの不足分を追加します
        $this-&gt;excelr-&gt;workbook-&gt;addSheet(0,count($access)-1);

        $total=0;

        // 各シートに必要なデータとシート名を書き込みます
        foreach($access as $mkey=&gt;$mval){
            $this-&gt;excelr-&gt;workbook-&gt;addNumber($mkey,4,4,$total);
            $this-&gt;excelr-&gt;workbook-&gt;setSheetname($mkey,&quot;&quot;.($mkey+1).&quot;月のアクセス&quot;);
            $this-&gt;excelr-&gt;workbook-&gt;setHeader($mkey,'&amp;CExcel_Reviser &amp;RaddSheet Sample '.$mkey);
            foreach($mval as $dkey=&gt;$dval){
                $this-&gt;excelr-&gt;workbook-&gt;addNumber($mkey,$dkey+3,2,$dval);
                $total+=$dval;
            }
        }

        // 入力出力ファイル名の設定
        $readfile=BASEPATH.'application/controllers/excel/template/sample2_addsheet.xls'; // テンプレートファイルの指定
        $outfile=&quot;addsheet.xls&quot;;    // WEBから出力するファイル名です

        // 最後に書換えを実行します
        $this-&gt;excelr-&gt;workbook-&gt;reviseFile($readfile,$outfile);
    }
}</pre>				<p>ビュー</p><pre class="crayon-plain-tag">&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Excelサンプル&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;h1&gt;Excelサンプル&lt;/h1&gt;

&lt;p&gt;&lt;a href=&quot;testexcelr/sample1&quot; target=&quot;_blank&quot;&gt;Excel出力サンプル１&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;testexcelr/sample2&quot; target=&quot;_blank&quot;&gt;Excel出力サンプル２&lt;/a&gt;&lt;/p&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>]]></content:encoded>
			<wfw:commentRss>http://pg.4696.info/php/codeigniter/ci_excel.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodeIgniterで複数ファイルを同時アップロード</title>
		<link>http://pg.4696.info/php/codeigniter/ci_upload.html</link>
		<comments>http://pg.4696.info/php/codeigniter/ci_upload.html#comments</comments>
		<pubDate>Sat, 13 Jun 2009 12:51:07 +0000</pubDate>
		<dc:creator>4696</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://pg.4696.info/?p=45</guid>
		<description><![CDATA[イメージファイルや文書ファイルを複数同時にアップロードする機能が必要なので 調べたら、あっさりと見つかった。 やっぱ、いるよなぁ、複数ファイルのアップロードって 日本CodeIgniterユーザ会のメーリングリストにログ [...]]]></description>
			<content:encoded><![CDATA[				<p>イメージファイルや文書ファイルを複数同時にアップロードする機能が必要なので<br />
				調べたら、あっさりと見つかった。<br />
				やっぱ、いるよなぁ、複数ファイルのアップロードって</p>
				<p>日本CodeIgniterユーザ会のメーリングリストにログがあって<br />
				<a href="http://d.hatena.ne.jp/KuniTsuji/">KuniTsujiのPHP開発日記</a> サイトにソースがあった。<br />
				対象記事は<a href="http://d.hatena.ne.jp/KuniTsuji/20090121/1232545744">CodeIgniterで複数のファイルをアップする</a></p>
				<p>MY_Upload.phpファイルをsystem/application/libraries/に作成し、こちらのソースをコピーしてクラス名を「MY_Upload」に変更。</p>
				<p>で、サンプルフォームを作成して動かしてOKだった。<br />
				サンプルソースは、めんどいので$_FILESなんかを使って確認しただけなんで、載せれんな。<br />
				それにサムネイル機能もサンプルでやってるんで長いしなぁ。</p>
				<p>イメージファイルのサムネイル化なんやけど、<a href="http://d.hatena.ne.jp/KuniTsuji/20090323/1237788599">KuniTsujiのPHP開発日記</a>にもイメージファイルのリサイズに関する記事が載ってた。<br />
				もう既に <strong><a href="http://www.hido.net/projects/phpThumbnailer/">phpThumbnailer</a></strong> を組み込んだあとに知った・・・・。</p>
]]></content:encoded>
			<wfw:commentRss>http://pg.4696.info/php/codeigniter/ci_upload.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSVファイルの読込</title>
		<link>http://pg.4696.info/cf/cf-csv.html</link>
		<comments>http://pg.4696.info/cf/cf-csv.html#comments</comments>
		<pubDate>Tue, 09 Jun 2009 13:51:15 +0000</pubDate>
		<dc:creator>4696</dc:creator>
				<category><![CDATA[Coldfusion]]></category>

		<guid isPermaLink="false">http://pg.4696.info/?p=44</guid>
		<description><![CDATA[ちょっとColdFusionで追加の作業があったんでメモ。 ColdFusionでCSVファイルを読み込みデータを復元する際に、データの中に&#8221;,&#8221;（カンマ）、&#8221;"&#8221;（ダブル [...]]]></description>
			<content:encoded><![CDATA[				<p>ちょっと<strong>ColdFusion</strong>で追加の作業があったんでメモ。</p>
				<p>ColdFusionでCSVファイルを読み込みデータを復元する際に、データの中に&#8221;,&#8221;（カンマ）、&#8221;"&#8221;（ダブルクォート）がある場合の対応。</p>
				<p>対応方法としては、いくつかあるとは思うけど、探したらちょうどいいUDFが公開されてた。<br />
				めんどいし、自分では作りたくなかったけん、よかったわ。<br />
				ほんま、ありがたい。</p>
				<p><a href="http://www.cflib.org/udf/CSVtoArray"><strong>CSVtoArray</strong></a></p>
				<p>CSVtoArrayでは、読み込むCSVのデータ部に&#8221;"&#8221;（ダブルクォート）がある場合には、出力する際にエスケープをしておく必要がある。<br />
				<div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Show code only"><img border="0" style="border: 0 none" src="http://pg.4696.info/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Print code"><img border="0" style="border: 0 none" src="http://pg.4696.info/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://pg.4696.info/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://pg.4696.info/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="cfm" style="font-family:monospace;"><span class="sc5"><span class="sy0">&lt;</span><span class="kw1">cfset</span> csvitem <span class="sy0">=</span> <span class="kw5">Replace</span><span class="br0">&#40;</span><span class="st0">&quot;#csvitem#&quot;</span>,<span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>,<span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>,<span class="st0">&quot;All&quot;</span><span class="br0">&#41;</span><span class="sy0">&gt;</span></span></pre></div></div></p>
<p>CSVtoArrayを使うには、ダウンロードしたファイルをIncludeするか、使う場所にコピーするか。</p>
<div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Show code only"><img border="0" style="border: 0 none" src="http://pg.4696.info/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Print code"><img border="0" style="border: 0 none" src="http://pg.4696.info/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://pg.4696.info/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://pg.4696.info/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="cfm" style="font-family:monospace;"><span class="sc5"><span class="sy0">&lt;</span><span class="kw1">cfinclude</span> template<span class="sy0">=</span><span class="st0">&quot;CSVtoArray.cfm&quot;</span><span class="sy0">&gt;</span></span>
<span class="sc5"><span class="sy0">&lt;</span><span class="kw1">cffile</span> <span class="kw3">action</span> <span class="sy0">=</span> <span class="st0">&quot;read&quot;</span> file <span class="sy0">=</span> <span class="st0">&quot;#Form.File_Path#&quot;</span> variable <span class="sy0">=</span> <span class="st0">&quot;Variables.CsvData&quot;</span><span class="sy0">&gt;</span></span>
<span class="sc5"><span class="sy0">&lt;</span><span class="kw1">cfset</span> Variables.CSVArray <span class="sy0">=</span> CSVtoArray<span class="br0">&#40;</span>Variables.CsvData<span class="br0">&#41;</span><span class="sy0">&gt;</span></span>
<span class="sc5"><span class="sy0">&lt;</span><span class="kw1">cfloop</span> <span class="kw6">index</span><span class="sy0">=</span><span class="st0">&quot;i&quot;</span> <span class="kw6">from</span><span class="sy0">=</span><span class="st0">&quot;1&quot;</span> <span class="kw6">to</span><span class="sy0">=</span><span class="st0">&quot;#ArrayLen(Variables.CSVArray)#&quot;</span><span class="sy0">&gt;</span></span>
  ここで処理
<span class="sc5"><span class="sy0">&lt;/</span><span class="kw1">cfloop</span><span class="sy0">&gt;</span></span></pre></div></div>
				<p>こんな感じかな。<br />
				あと、改行コードがデータ部にある場合はだめやったんで、CSV出力するときにエスケープ処理と同時になんかの文字に置き換えてる。</p>
				<p>PS.<br />
				Syntax Highlighter for WordPress プラグインには、ColdFusionのHighlightは、ない。<br />
				wp-synhighlightにはあったわ。<br />
				やっぱマイナー言語なんやろな。</p>
]]></content:encoded>
			<wfw:commentRss>http://pg.4696.info/cf/cf-csv.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TCPDFのインストール</title>
		<link>http://pg.4696.info/php/codeigniter/ci_tcpdf.html</link>
		<comments>http://pg.4696.info/php/codeigniter/ci_tcpdf.html#comments</comments>
		<pubDate>Sat, 06 Jun 2009 13:11:01 +0000</pubDate>
		<dc:creator>4696</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[TCPDF]]></category>

		<guid isPermaLink="false">http://pg.4696.info/?p=43</guid>
		<description><![CDATA[TCPDFもxajaxと同じようにpluginで組み込む その他の方法は、wikiか検索すればでてくる 1.ダウンロード TCPDFをここからダウンロード。PHP5用の他にPHP4用もある 結構更新頻度が高いようでその時 [...]]]></description>
			<content:encoded><![CDATA[				<p><strong>TCPDF</strong>も<strong>xajax</strong>と同じようにpluginで組み込む<br />
				その他の方法は、<a href="http://codeigniter.com/wiki/TCPDF-CodeIgniter_Integration/">wiki</a>か検索すればでてくる<br />
				<span id="more-43"></span></p>
				<h2>1.ダウンロード</h2>
				<p>TCPDFを<a href="http://sourceforge.net/projects/tcpdf/">ここ</a>からダウンロード。PHP5用の他にPHP4用もある<br />
				結構更新頻度が高いようでその時の最新のものでいいかな</p>
				<p>解凍するとtcpdfフォルダが1個でてくる。</p>
				<h2>2.ファイルをコピー</h2>
				<p>xajaxと同じように解凍してでてきた tcpdf/配下を system/plugins/ へコピー。<br />
				中にある「example」と「doc」は、コピー先にはいらないので削除。</p>
				<h2>3.プラグインファイルの作成</h2>
				<p>system/plugins/に「tcpdf_pi.php」を作成。</p>
				<p>ソース</p><pre class="crayon-plain-tag">&lt;?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    require_once('tcpdf/config/lang/jpn.php');
    require_once('tcpdf/tcpdf.php');

    function tcpdf($orientation='P', $unit='mm', $format='A4', $unicode=true, $encoding='UTF-8', $diskcache=false){
        return new TCPDF($orientation, $unit, $format, $unicode, $encoding, $diskcache);
    }
?&gt;</pre>				<h2>4.langファイルの作成</h2>
				<p>上のプラグインファイルでrequireしている「tcpdf/config/lang/jpn.php」というファイルは、<br />
				ダウンロードしたものにはないんで、tcpdf/config/lang/eng.php をリネームして保存。</p>
				<p>ソース</p><pre class="crayon-plain-tag">// JAPANESE

global $l;
$l = Array();

// PAGE META DESCRIPTORS --------------------------------------

$l['a_meta_charset'] = 'UTF-8';
$l['a_meta_dir'] = 'jpn';
$l['a_meta_language'] = 'ja';

// TRANSLATIONS --------------------------------------
$l['w_page'] = 'page';</pre>				<h2>5.サンプル</h2>
				<p>tcpdf/example/にあるサンプルコードをコントローラーへ移植。</p>
				<p></p><pre class="crayon-plain-tag">&lt;?php
class TestTcpdf extends Controller {


    public function __construct()
    {
        parent::controller();
    }

    function index()
    {
        $this-&gt;load-&gt;view('pdf_index');
    }


    function example_001()
    {
        $this-&gt;load-&gt;plugin( 'tcpdf' );
        $pdf = tcpdf();

        // set document information
        $pdf-&gt;SetCreator(PDF_CREATOR);
        $pdf-&gt;SetAuthor(&quot;Nicola Asuni&quot;);
        $pdf-&gt;SetTitle(&quot;TCPDF Example 002&quot;);
        $pdf-&gt;SetSubject(&quot;TCPDF Tutorial&quot;);
        $pdf-&gt;SetKeywords(&quot;TCPDF, PDF, example, test, guide&quot;);
        // remove default header/footer
        $pdf-&gt;setPrintHeader(false);
        $pdf-&gt;setPrintFooter(false);
        //set margins
        $pdf-&gt;SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);

        //set auto page breaks
        $pdf-&gt;SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

        //set image scale factor
        $pdf-&gt;setImageScale(PDF_IMAGE_SCALE_RATIO); 

        //initialize document
        $pdf-&gt;AliasNbPages();

        // add a page
        $pdf-&gt;AddPage();

        // ---------------------------------------------------------

        // set font
        $pdf-&gt;SetFont(&quot;kozgopromedium&quot;, &quot;&quot;, 12);

        $msg = &quot;Example 001 あいうえお 名前&quot;;

        // print a line using Cell()
        $pdf-&gt;Cell(0,10,$msg,1,1,'C');

        // ---------------------------------------------------------

        //Close and output PDF document
        $pdf-&gt;Output(&quot;example_001.pdf&quot;, &quot;I&quot;);
    }

    function example_002()
    {

        $site_url = $this-&gt;config-&gt;site_url();
        $this-&gt;load-&gt;plugin( 'tcpdf' );
        $pdf = tcpdf();


        // set document information この辺は無くてもOK
        //$pdf-&gt;SetCreator(PDF_CREATOR);
        //$pdf-&gt;SetAuthor('Nicola Asuni');
        //$pdf-&gt;SetTitle('TCPDF Example 006');
        //$pdf-&gt;SetSubject('TCPDF Tutorial');
        //$pdf-&gt;SetKeywords('TCPDF, PDF, example, test, guide');

        // set default header data
//        $pdf-&gt;SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
        $pdf-&gt;SetHeaderData('', '', '日本語でもOKかな？？', 'ヘッダーストリングって？');

        // set header and footer fonts ヘッダーとフッターのフォントは別に指定
        $pdf-&gt;setHeaderFont(Array(&quot;kozgopromedium&quot;, '', PDF_FONT_SIZE_MAIN));
        $pdf-&gt;setFooterFont(Array(&quot;kozgopromedium&quot;, '', PDF_FONT_SIZE_DATA));

        //set margins
        $pdf-&gt;SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
        $pdf-&gt;SetHeaderMargin(PDF_MARGIN_HEADER);
        $pdf-&gt;SetFooterMargin(PDF_MARGIN_FOOTER);

        //set auto page breaks 改ページ：これをtrueにすると セルの途中で改ページされず自動調節される
        $pdf-&gt;SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
//        $pdf-&gt;SetAutoPageBreak(FALSE, PDF_MARGIN_BOTTOM);

        //set image scale factor
        //$pdf-&gt;setImageScale(PDF_IMAGE_SCALE_RATIO); 

        //set some language-dependent strings
//        $pdf-&gt;setLanguageArray($l); 

        // ---------------------------------------------------------

        // set font これはBODYのフォント
        $pdf-&gt;SetFont(&quot;kozgopromedium&quot;, &quot;&quot;, 10);


        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        // Print a table

        // add a page
        $pdf-&gt;AddPage();

        // create some HTML content
        //$subtable = &quot;&lt;table  border=&quot;1&quot; cellspacing=&quot;1&quot; cellpadding=&quot;1&quot;&gt;&lt;tr&gt;&lt;td&gt;a&lt;/td&gt;&lt;td&gt;b&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;c&lt;/td&gt;&lt;td&gt;d&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&quot;;
        $subtable = &quot;&lt;table style=&quot;border-collapse: collapse&quot; border=&quot;1&quot;&gt;&lt;tr&gt;&lt;td&gt;a&lt;/td&gt;&lt;td&gt;b&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;c&lt;/td&gt;&lt;td&gt;d&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&quot;;

        //$htmltable = &quot;&lt;h2&gt;HTML TABLE:&lt;/h2&gt;&lt;table border=&quot;1&quot; cellspacing=&quot;2&quot; cellpadding=&quot;2&quot;&gt;&lt;tr&gt;&lt;th&gt;#&lt;/th&gt;&lt;th align=&quot;right&quot;&gt;RIGHT align&lt;/th&gt;&lt;th align=&quot;left&quot;&gt;LEFT align&lt;/th&gt;&lt;th&gt;4A&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td bgcolor=&quot;#cccccc&quot; align=&quot;center&quot; colspan=&quot;2&quot;&gt;A1 ex&lt;i&gt;amp&lt;/i&gt;le &lt;a href=&quot;http://www.tcpdf.org&quot;&gt;link&lt;/a&gt; column span. One two tree four five six seven eight nine ten.&lt;br /&gt;line after br&lt;br /&gt;&lt;small&gt;small text&lt;/small&gt; normal &lt;sub&gt;subscript&lt;/sub&gt; normal &lt;sup&gt;superscript&lt;/sup&gt; normal  bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla&lt;ol&gt;&lt;li&gt;first&lt;ol&gt;&lt;li&gt;sublist&lt;/li&gt;&lt;li&gt;sublist&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;second&lt;/li&gt;&lt;/ol&gt;&lt;small color=&quot;#FF0000&quot; bgcolor=&quot;#FFFF00&quot;&gt;small small small small small small small small small small small small small small small small small small small small&lt;/small&gt;&lt;/td&gt;&lt;td&gt;4B&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&quot;.$subtable.&quot;&lt;/td&gt;&lt;td bgcolor=&quot;#0000FF&quot; color=&quot;yellow&quot; align=&quot;center&quot;&gt;A2 ? &amp;euro; &amp;#8364; &amp;amp; e &amp;egrave;&lt;br/&gt;A2 ? &amp;euro; &amp;#8364; &amp;amp; e &amp;egrave;&lt;/td&gt;&lt;td bgcolor=&quot;#FFFF00&quot; align=&quot;left&quot;&gt;&lt;font color=&quot;#FF0000&quot;&gt;Red&lt;/font&gt; Yellow BG&lt;/td&gt;&lt;td&gt;4C&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1A&lt;/td&gt;&lt;td rowspan=&quot;2&quot; colspan=&quot;2&quot; bgcolor=&quot;#FFFFCC&quot;&gt;2AA&lt;br /&gt;2AB&lt;br /&gt;2AC&lt;/td&gt;&lt;td bgcolor=&quot;#FF0000&quot;&gt;4D&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1B&lt;/td&gt;&lt;td&gt;4E&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1C&lt;/td&gt;&lt;td&gt;2C&lt;/td&gt;&lt;td&gt;3C&lt;/td&gt;&lt;td&gt;4F&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&quot;;
        $htmltable = &quot;&lt;h2&gt;HTML TABLE:&lt;/h2&gt;&lt;table style=&quot;border-collapse:collapse&quot; border=&quot;1&quot;&gt;&lt;tr&gt;&lt;th&gt;#&lt;/th&gt;&lt;th align=&quot;right&quot;&gt;RIGHT align&lt;/th&gt;&lt;th align=&quot;left&quot;&gt;LEFT align&lt;/th&gt;&lt;th&gt;4A&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td bgcolor=&quot;#cccccc&quot; align=&quot;center&quot; colspan=&quot;2&quot;&gt;A1 ex&lt;i&gt;amp&lt;/i&gt;le &lt;a href=&quot;http://www.tcpdf.org&quot;&gt;link&lt;/a&gt; column span. One two tree four five six seven eight nine ten.&lt;br /&gt;line after br&lt;br /&gt;&lt;small&gt;small text&lt;/small&gt; normal &lt;sub&gt;subscript&lt;/sub&gt; normal &lt;sup&gt;superscript&lt;/sup&gt; normal  bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla&lt;ol&gt;&lt;li&gt;first&lt;ol&gt;&lt;li&gt;sublist&lt;/li&gt;&lt;li&gt;sublist&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;second&lt;/li&gt;&lt;/ol&gt;&lt;small color=&quot;#FF0000&quot; bgcolor=&quot;#FFFF00&quot;&gt;small small small small small small small small small small small small small small small small small small small small&lt;/small&gt;&lt;/td&gt;&lt;td&gt;4B&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&quot;.$subtable.&quot;&lt;/td&gt;&lt;td bgcolor=&quot;#0000FF&quot; color=&quot;yellow&quot; align=&quot;center&quot;&gt;A2 ? &amp;euro; &amp;#8364; &amp;amp; e &amp;egrave;&lt;br/&gt;A2 ? &amp;euro; &amp;#8364; &amp;amp; e &amp;egrave;&lt;/td&gt;&lt;td bgcolor=&quot;#FFFF00&quot; align=&quot;left&quot;&gt;&lt;font color=&quot;#FF0000&quot;&gt;Red&lt;/font&gt; Yellow BG&lt;/td&gt;&lt;td&gt;4C&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1A&lt;/td&gt;&lt;td rowspan=&quot;2&quot; colspan=&quot;2&quot; bgcolor=&quot;#FFFFCC&quot;&gt;2AA&lt;br /&gt;2AB&lt;br /&gt;2AC&lt;/td&gt;&lt;td bgcolor=&quot;#FF0000&quot;&gt;4D&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1B&lt;/td&gt;&lt;td&gt;4E&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1C&lt;/td&gt;&lt;td&gt;2C&lt;/td&gt;&lt;td&gt;3C&lt;/td&gt;&lt;td&gt;4F&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&quot;;

        // output the HTML content
        $pdf-&gt;writeHTML($htmltable, true, 0, true, 0);

        // Print some HTML Cells

        $cellcontent = &quot;&lt;span color=&quot;red&quot;&gt;red&lt;/span&gt; &lt;span color=&quot;green&quot;&gt;green&lt;/span&gt; &lt;span color=&quot;blue&quot;&gt;blue&lt;/span&gt;&lt;br /&gt;&lt;span color=&quot;red&quot;&gt;red&lt;/span&gt; &lt;span color=&quot;green&quot;&gt;green&lt;/span&gt; &lt;span color=&quot;blue&quot;&gt;blue&lt;/span&gt;&quot;;

        $pdf-&gt;SetFillColor(255,255,0);

        $pdf-&gt;writeHTMLCell(0, 0, '', '', $cellcontent, 'LRTB', 1, 0, true, 'L');
        $pdf-&gt;writeHTMLCell(0, 0, '', '', $cellcontent, 'LRTB', 1, 1, true, 'C');
        $pdf-&gt;writeHTMLCell(0, 0, '', '', $cellcontent, 'LRTB', 1, 0, true, 'R');

        //$pdf-&gt;AddPage();
        $stehtml = &quot;&lt;br&gt;&lt;div&gt;&quot;
                . &quot;&lt;table style=&quot;border-collapse:separate&quot; border=&quot;1&quot;&gt;&quot;
                . &quot;&lt;tr&gt;&lt;td&gt;abcdefg@a1234567890qwertyuio.comashshshfvjdbvjdhfbjbvcdjhbvjhbvjdhbf&lt;/td&gt;&lt;td&gt;名前（１行目）&lt;/td&gt;&lt;td&gt;草彅&lt;/td&gt;&lt;td rowspan=&quot;2&quot;&gt;ここは２行連結&lt;/td&gt;&lt;/tr&gt;&quot;
                . &quot;&lt;tr&gt;&lt;td rowspan=&quot;3&quot;&gt;&lt;span style=&quot;font-size:8px&quot;&gt;ここは３行連結あいうえおかきくけこフォントサイズをスタイルで指定している&lt;/span&gt;&lt;/td&gt;&lt;td&gt;２行目&lt;/td&gt;&lt;td&gt;ここはCELL&lt;/td&gt;&lt;/tr&gt;&quot;
                . &quot;&lt;tr&gt;&lt;td colspan=&quot;3&quot;&gt;３行目&lt;/td&gt;&lt;/tr&gt;&quot;
                . &quot;&lt;tr&gt;&lt;td colspan=&quot;3&quot;&gt;４行目&lt;/td&gt;&lt;/tr&gt;&quot;;
        for ($i=5;$i&lt;=55;$i++) {
            if ($i == 21) {
            $stehtml .=  &quot;&lt;tr&gt;&lt;td colspan=&quot;4&quot;&gt;行&quot;.$i.&quot;長い文章をしれてみて改行がどうなるかを確認してみることにした。どうだろうか？？？？長い文章をしれてみて改行がどうなるかを確認してみることにした。どうだろうか？？？？&lt;/td&gt;&lt;/tr&gt;&quot;;
            } else {
                $stehtml .=  &quot;&lt;tr&gt;&lt;td colspan=&quot;4&quot;&gt;行&quot;.$i.&quot;&lt;/td&gt;&lt;/tr&gt;&quot;;
            }
        }

        $stehtml .= &quot;&lt;/table&gt;&lt;/div&gt;&quot;;
        $pdf-&gt;writeHTML($stehtml, true, 0, true, 0);


        // reset pointer to the last page
        $pdf-&gt;lastPage();

        // - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        // Print a table

        //Close and output PDF document
        $pdf-&gt;Output(&quot;example_002.pdf&quot;, &quot;I&quot;);


    }</pre>				<p>ビュー</p><pre class="crayon-plain-tag">&lt;html&gt;
&lt;head&gt;
&lt;title&gt;PDFサンプル&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;h1&gt;PDFサンプル&lt;/h1&gt;

&lt;p&gt;&lt;a href=&quot;testtcpdf/example_001&quot; target=&quot;_blank&quot;&gt;サンプル１&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;testtcpdf/example_002&quot; target=&quot;_blank&quot;&gt;サンプル２&lt;/a&gt;&lt;/p&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>				<p>example_002は、もとのサンプルソースに2ページ目を独自に追加。</p>
				<p>FONTやけどいろいろあるけど、デフォ以外のFONTを埋め込むと当然ファイルサイズがかなりふくれあがった。<br />
				要件次第かなぁ</p>
				<p>TCPDFについてFONTなどを配布しているサイトがあります。<br />
				<a href="http://www.monzen.org/Refdoc/tcpdf/">MONZEN.ORG</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pg.4696.info/php/codeigniter/ci_tcpdf.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xajaxのインストール</title>
		<link>http://pg.4696.info/php/codeigniter/ci_xajax.html</link>
		<comments>http://pg.4696.info/php/codeigniter/ci_xajax.html#comments</comments>
		<pubDate>Mon, 01 Jun 2009 12:58:36 +0000</pubDate>
		<dc:creator>4696</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[xajax]]></category>

		<guid isPermaLink="false">http://pg.4696.info/?p=42</guid>
		<description><![CDATA[とりあえず、xajaxをCodeIgniterに組み込む。 1.ダウンロード xajaxのサイトからxajax 0.5 Finalをダウンロード。 「xajax 0.5 compiled」、「xajax 0.5 mini [...]]]></description>
			<content:encoded><![CDATA[				<p>とりあえず、<strong>xajax</strong>を<strong>CodeIgniter</strong>に組み込む。<br />
				<span id="more-42"></span></p>
				<h2>1.ダウンロード</h2>
				<p>  <a href="http://www.xajaxproject.org/">xajax</a>のサイトからxajax 0.5 Finalをダウンロード。<br />
				  「xajax 0.5 compiled」、「xajax 0.5 minimal」、「xajax 0.5 standard」と3種類のダウンロードが用意されているのでお好みのものをダウンロード。</p>
				<p><img src="http://pg.4696.info/wp-content/uploads/2009/05/file_345.png" alt="file" title="file" width="119" height="54" class="alignleft size-full wp-image-174" /><br />
				解凍するとでてくるのはこんな感じ。</p>
				<h2>2.ファイルをコピー</h2>
				<p>解凍してでてきた、xajax_core/以下のファイルを全部CodeIgniterのところへ配置するんやけど・・・<br />
				解説されているのは、application/libraries配下におくもので独自ライブラリー化するものが多いかな。<br />
				ライブラリー化は、本家wikiにあります。<a href="http://codeigniter.com/wiki/Xajax_perfect_setup/">ここ</a><br />
				んでも、ここは、pluginでいきます。<br />
				理由は、CodeIgniterのベースを作っておいて、他の開発に流用する為。<br />
				xajaxなんかは共通で使うと思うんで。(tcPDFも)<br />
				なので、xajax_core/以下のファイルを system/plugins/へコピーする。<br />
				もうひとつの xajax_js/以下のファイルは、ドキュメントルートへコピー。</p>
				<h2>3.プラグインファイルの作成</h2>
				<p>system/plugins/に「xajax_pi.php」を作成。<br />
				CodeIgniterのプラグインの定義は次のように書かれているので、ここで１つの関数を作成。</p>
				<blockquote><p>プラグインもヘルパと同様に動作します。違いは、ヘルパは通常関数のコレクションであるのに対し、プラグインは常にひとつだけの関数を提供するということです。ヘルパはまた、コアシステムの一部として考えられたものですが、プラグインは、コミュニティで作成され、共有されることを意図しています。</p></blockquote>
				<p>中身は↓</p>
				<p></p><pre class="crayon-plain-tag">&lt;?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    require_once('xajax_core/xajax.inc.php');

    function xajax(){
        return new xajax();
    }
?&gt;</pre>				<h2>4..htaccessの修正</h2>
				<p>.htaccessの mod_rewriteを修正し、 xajax_js ディレクトリ以下はリライトから除外する。</p><pre class="crayon-plain-tag">&lt;code&gt;RewriteCond $1 !^(index\.php|images|js|xajax_js|user_guide_ja|robots\.txt|css)&lt;/code&gt;</pre>				<h2>サンプルコード</h2>
				<p>これで準備は整ったので、あとはコントローラーとビューを用意するだけ。<br />
				サンプルは、wikiのまんまで、pluginでロードしているだけ<br />
				PHP5なんで__constructとしたりするだけかな</p>
				<p>Controller</p><pre class="crayon-plain-tag">&lt;?php
class Testxajax extends Controller {

    private $xajax;

    public function __construct()
    {
        parent::controller();

        $this-&gt;load-&gt;plugin('xajax');
        $this-&gt;xajax = xajax();

        $this-&gt;xajax-&gt;registerFunction(array('test_function',&amp;$this,'test_function'));
        $this-&gt;xajax-&gt;processRequest();
    }

    private function test_function($number)
    {
          $objResponse = new xajaxResponse();
          $objResponse-&gt;Assign(&quot;SomeElementId&quot;,&quot;innerHTML&quot;, &quot;Xajax is working. Lets add: &quot;.($number+3));
          return $objResponse;
    }

    public function index()
    {
        $template['xajax_js'] = $this-&gt;xajax-&gt;getJavascript(base_url());

        $template['content'] = '&lt;div id=&quot;SomeElementId&quot;&gt;&lt;/div&gt;&lt;input type=&quot;button&quot; value=&quot;test&quot; onclick=&quot;xajax_test_function(2);&quot;&gt;';

        $this-&gt;load-&gt;view('template/index', $template);
   
    }
   

}
?&gt;</pre>				<p>VIEW</p><pre class="crayon-plain-tag">&lt;html&gt;
&lt;head&gt;
    &lt;title&gt;Xajax 0.5 test&lt;/title&gt;
    &lt;?php echo $xajax_js;?&gt;
&lt;/head&gt;

&lt;body&gt;
  &lt;h1&gt;&lt;?php echo $content;?&gt;&lt;/h1&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>]]></content:encoded>
			<wfw:commentRss>http://pg.4696.info/php/codeigniter/ci_xajax.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>必要な機能</title>
		<link>http://pg.4696.info/php/codeigniter/codeigniter_002.html</link>
		<comments>http://pg.4696.info/php/codeigniter/codeigniter_002.html#comments</comments>
		<pubDate>Thu, 28 May 2009 12:10:42 +0000</pubDate>
		<dc:creator>4696</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://pg.4696.info/?p=41</guid>
		<description><![CDATA[今度の案件では、必要な機能は次の通り ファイルアップロード PDF出力 AJAX（あればちょっと便利） Excel（ついでに） これらの機能をCodeIgniterで実装する。 1.のファイルアップロード機能はCodeI [...]]]></description>
			<content:encoded><![CDATA[				<p>今度の案件では、必要な機能は次の通り</p>
				<ol>
				<li>ファイルアップロード</li>
				<li>PDF出力</li>
				<li>AJAX（あればちょっと便利）
				<li>Excel（ついでに）</li>
				</ol>
				<p>これらの機能をCodeIgniterで実装する。</p>
				<p>1.のファイルアップロード機能はCodeIgniterに標準である。<br />
				けど、どうも1ファイルのアップロードっぽい。<br />
				必要なのは複数ファイルの同時アップロード。</p>
				<p>2のPDF出力は、「<a href="http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf">tcPDF</a>」の予定</p>
				<p>3のAJAXは探して試したところ、簡単だった「<a href="http://www.xajaxproject.org/">xajax</a>」</p>
				<p>4は・・・まあ、今のところたち消えたけど、とりあえずライブラリを組み込んでおくことにしよう。<br />
				<a href="http://chazuke.com/?page_id=126">Excel_Reviser</a> or <a href="http://www.codeplex.com/PHPExcel">PHPExcel</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pg.4696.info/php/codeigniter/codeigniter_002.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

