てくてくあるく

WordPress の テーマ とか プラグイン に ついて 勉強しています

PHP で 何かしらのデータを 一覧表示したいとき
ひたすら リストタグを使って 表示させても良いですが
CSVを 使って 処理したほうが 後々 更新が楽そうですよね??

と いうわけで CSVで 処理できるモノを 探しましたら
良い物が見つかったので 紹介させていただきます!!

mopi テクニカルを参考にさせていただきました。
http://pokoda.tumblr.com/post/44362557334/php-fgetcsv-csv

僕は この戻り値から
1行目を Keyにして Arrayで 返す 関数を使いました

<?php

//---------------------------------------------------------------------------
//  CSVからデータ取得
//---------------------------------------------------------------------------

function get_csv_list() {
  
  $file = array(
    'dir'  => get_template_directory().'/resources/csv/',
    'name' => 'hoge'.'.csv',
  );
  
  $getCSV = new Mopi_GetCsv($file['dir'].$file['name']);
  $getCSV->setFromEncoding('sjis-win');
  $getCSV->setToEncoding('UTF-8');
  
  if ( count($getCSV) != 0 ) :
    $csv = array();
    $return = array();
    $csv_header = array();
    $csv_header_set = false;
    foreach($getCSV as $row) :
      if ( $row == false ) break;
      if ( !$csv_header_set ) :
        foreach( $row as $cell ) :
          $csv_header[] = $cell;
        endforeach;
        $csv_header_set = true;
      else :
        $csv_line = array();
        for( $i = 0; $i < count($row); $i++ ) :
          $csv_line[$csv_header[$i]] = $row[$i];
        endfor;
        $csv[] = $csv_line;
      endif;
    endforeach;
    
    $return = $csv;
    
  else :
    $return = array();
  endif;
  
  return $return;
}

Related Article

WordPress の 記事 を CSV で ダウンロード する

詳細へ »