csvファイルの読み込み

Yusuke 45views 更新:2016年6月29日
<?php
/**
 * Created by PhpStorm.
 * User: develop38
 * Date: 2016/06/15
 * Time: 14:49
 */
$csv = array();
$file_name = "aed_20160615.csv"; //ファイル名を指定

$fp = fopen($file_name,"r"); //ファイルポインタを指定

//データがなくなるまでCSVファイルを1行ずつ読み込む
while($ret_csv = fgetcsv($fp,256)){

  for($i=1; $i < count($ret_csv);++$i) { //施設名から取り出すためにiは1から

    //echo("[" . $ret_csv[$i] . "]");



  }//このfor分の処理によって横の行の要素を取り出すことができる

 // echo("<br/>");
  $csv[] = $ret_csv; // csv配列にファイルの行群を配列として入れている。


}

//var_dump($csv); //csv配列の中身を確認

fclose($fp);//ファイルを閉じる


//必要なデータのみを配列によってとりだす(再構成)

$info = array();
$j = 0;

foreach($csv as $value){

  //ここで言うvalueとはcsv配列の中の配列の要素数のことである

  $info[$j]['Name']=$value[1];
  $info[$j]['Address']=$value[2];
  $info[$j]['Longitude']=$value[4];
  $info[$j]['Latitude']=$value[5];
  $info[$j]['Numbers']=$value[6];

  $j++;

  //var_dump($value);
}
//var_dump($info);
//以上は再構成した配列が正しいかを確かめるものである



// 以下データの追加に関するコード

require('../wp-blog-header.php'); // まずはライブラリのimport

date_default_timezone_set('Asia/Tokyo'); //時間の設定



for ($i = 0; $i < 20; $i++) {     ///// 変更した(数が多いと読み込むのに時間がかかるため)
  $todaytime = date('YmdHi', time());
 // $posttiome = date('Y-i:s', time());
  $content = '[cft format = 0]';

  $post = array(
    'post_author' => 1, //投稿者のID
    'post_content' => $content, //投稿の全文章
   // 'post_date' => $posttiome, //投稿の作成日時
    'post_status' => 'publish', //公開ステータス
    'post_title' => '相模原市AED設置場所(0)', //投稿のタイトル


  );

  $postid = wp_insert_post($post); //post_idには投稿のIDが入り、失敗すると0を返す。

  if ($postid != 0) {

    update_post_meta($postid, 'Name', $info[$i]['Name']); //キーが’Name’のカスタムフィールドの値のところに$info[$i][0]を投稿
    update_post_meta($postid, 'Address',$info[$i]['Address']);
    update_post_meta($postid, 'Longitude',$info[$i]['Longitude']);
    update_post_meta($postid, 'Latitude',$info[$i]['Latitude']);
    update_post_meta($postid, 'Numbers',$info[$i]['Numbers']);


  }else{
    echo "Error!!";
  }

  //var_dump($post);
  //var_dump($postid);
}





?>
//fgetcsv => ファイルポインタから行を取得して、csvフィールドを出力する

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません