PHPを学ぼう!

▼PHPを学ぶチャプターです。


SMS付き2Gは、900円。
通話付きは、1600円。

 

素材メニュー

 ◆Chapter 1

 ◆Chapter 2

 ◆Chapter 3

 ◆Chapter 4

 

制作ヒント

 ◆制作のヒント

 

レッスンメニュー

 ◆Chapter2 練習問題

 ◆Chapter3 DB練習問題

 

サイト運営者がPHPを学んだ
お勧めの書籍です!
これ一冊で基本的なPHPの仕組み、簡単なプログラムの作成、SQLiteを使ったデータベースなどかなり学べる要素が詰まっています!

↓↓↓ ↓↓↓

PHPレッスンブック―PHP5対応

新品価格
¥2,520から
(2013/2/24 04:38時点)

 

 

サイバーテロの技法について書かれた書籍です!
ハッカーの手法を知ることでご自身のサイトがハッカーに攻撃されたときそれを防ぐ手法を紹介しています。

↓↓↓ ↓↓↓

PHPサイバーテロの技法―攻撃と防御の実際

新品価格
¥1,890から
(2013/11/5 10:09時点)

 

 

★初年度100円! サブドメインやメールアカウントを無制限に設置できます。
PHPやCGIは勿論、WordPress、Movable Type Open Source、掲示板、ブログ、ショッピングサイトなどが簡単に導入できるので複数サイトを運営したい場合に便利なサービスです。

↓↓↓ ↓↓↓

 

PHPが動作するサーバー

 

はじめてのHP | 無料素材 | タグ辞典 | CSSガイドEX | PHPを学ぼう!

◆Tip19 - CSVの文字コード、保存方法について

CSV ファイルに必要なデータを保存して EXCEL(エクセル)などで活用したい場面ってありますよね。

 

例えばホームページにアクセスしてきた記録、メンバー情報の記録、商品管理や販売データなどを CSV で書き出し、エクセルや他のデータベースにインポートしたい場合など・・・。
CSV ファイルは汎用性があり、様々なソフトウェアやデータベースにインポートとエクスポートができるので利用頻度が高いのでしょう。

 

ネット検索で "CSV 書き出し" と検索すると様々な情報がヒットします。
私自身も CSV の書き出しに頭を悩ませたことがあり問題を解決するのにかなりの時間を要しました・・・。

 

CSV ファイルを書き出す場合、次のことに注意する必要があります。

  • 文字コードの変換(エンコード)
  • シングルクォート( ' )やダブルシングルクォート( " )、カンマ( , )の処理

 

文字コードの変換は、主に PHP プログラムが文字コードとして "utf-8" を使用していることにあります。
エクセルなどの一般的なソフトウェアでは文字コードに "shift-jis" を使っていることが多いのです。
当然、文字コードの変換処理をしなければ文字化けを起こすことになります。

 

文字コードの変換処理する関数には次のものを使います。

//一行の文字列を変換する場合
mb_convert_encoding($str, "JIS", "auto");

//配列ごと変換する場合
mb_convert_variables('SJIS-win', 'UTF-8', $array);

文字コードについては、『 Tip 2 - 文字コードの文字化け 』を参照ください。

 

CSV ファイルを保存する上で特にカンマ区切りには注意をしなければなりません。
何故なら CSV ファイルは一行の文字列の中のカンマ記号( , )を基準にセル(カラム)が区切られるからです。

 

例えば次の文字列があるとします。

・りんご, 10個, みかん, 10個, 梨, 10個

この一行を CSV ファイルに書き出すとセルの数が6個になります。
もしこれが、

・りんご, 10個, みかん, 10個, 梨, 1,000個

の一行であったとしたらどうでしょうか?
この一行ではセルの数は7個になります。
この違いは、梨の "1000個" が "1,000個" となってる為にカンマ区切りされてしまうからです。
試しにテキストファイルに両方の行を貼り付けて保存し、ファイル拡張子を "txt" から "csv" に変更してから CSV ファイルを開いてみてください。
その違いが確認できます。

 

また文字列に含まれるクォート( '、" )をエスケープさせる必要もあります。
これらの処理をしておかないと、PHP から CSV を出力した時に想定外の出力をすることがあるからです。

 

この問題を解決してくれるのが、fputcsv 関数です。
書式は次のとおりです。

fputcsv(ファイル名, 配列);

fputcsv 関数は PHP ヴァージョン4以降で利用できます。
ヴァージョン5.1以降からは連想配列にも対応しています。

 

CSV ファイルを書き出すプログラムを『 Chapter 4 - CSV対応のログファイルを作る 1 』で紹介しています。
こちらも参考になりますのでご一読ください。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ex-mode.net | ツールEX | 素材EX | アフィモール | 初級者向 初めてのホームページ作り | Htmlタグ辞典 | 初めてのプランター菜園 | リンク・ボード
気のみ気のままなブログ | CSSガイドEX | ホビ★コレ | 班長日記!

▲UP

Copyright (C) ex-mode.net 2017. All Rights Reserved.