CSVから読み込んで変数に格納
以下は3列のcsvを読み込むプログラム
/**
* CSVファイルを読み込む
*/
function readCSV() {
$row = 1;
if (($handle = fopen($_FILES['file_select']['tmp_name'], "r")) !== FALSE) {
// PHP5でfgetcsvを行うと先頭1バイトが正しく読み込めないエラーに対応
setlocale(LC_ALL, 'ja_JP');
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
if( $num != 3 ){
echo "フォーマットエラー";
break;
}
$user_name = mb_convert_encoding($data[0], "UTF-8", "SJIS");
$address = mb_convert_encoding($data[1], "UTF-8", "SJIS");
$password = mb_convert_encoding($data[2], "UTF-8", "SJIS");
// "でくくられている場合
// 先頭と末尾両方に"が含まれていた場合、先頭と末尾の"のみ削除する
if( (strcmp(substr($user_name, 0, 1), "\"") == 0 ) && (strcmp(substr($user_name, 0, 1), "\"") == 0 ) ){
$user_name = substr( $user_name, 1, strlen($user_name) - 2 );
}
if( (strcmp(substr($address, 0, 1), "\"") == 0 ) && (strcmp(substr($address, 0, 1), "\"") == 0 ) ){
$address = substr( $address, 1, strlen($address) - 2 );
}
if( (strcmp(substr($password, 0, 1), "\"") == 0 ) && (strcmp(substr($password, 0, 1), "\"") == 0 ) ){
$user_name = substr( $password, 1, strlen($password) - 2 );
}
$data_list[$row - 1]["user_name"] = $user_name;
$data_list[$row - 1]["address"] = $address;
$data_list[$row - 1]["password"] = $password;
$row++;
}
fclose($handle);
}
return $data_list;
}