ユーザ用ツール

サイト用ツール

Writing /var/www/vhosts/w629.ws.domainking.cloud/enjoy-lei.com/lei_wiki/data/cache/e/e45c0d42ced851d40f47b0aa3a7ca99f.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /var/www/vhosts/w629.ws.domainking.cloud/enjoy-lei.com/lei_wiki/data/cache/e/e45c0d42ced851d40f47b0aa3a7ca99f.metadata failed

csvファイルデータを配列に取得
Writing /var/www/vhosts/w629.ws.domainking.cloud/enjoy-lei.com/lei_wiki/data/cache/e/e45c0d42ced851d40f47b0aa3a7ca99f.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /var/www/vhosts/w629.ws.domainking.cloud/enjoy-lei.com/lei_wiki/data/cache/e/e45c0d42ced851d40f47b0aa3a7ca99f.xhtml failed

CSVファイルデータを配列に取得

CSVファイルの取得と保管

CSVファイルデータを配列に取得

$csvData = F_GET_CSV_DATA($_FILES['csv']['tmp_name']);
//CSVファイルデータ一行ずつ取得
//CSVファイルを取得するときにもし外部の編集などの防ぐもしています。
function F_GET_CSV_DATA($csvPath){

	$data1 = array();   //一行目データ
	$csvList = array();   //データ配列
	// ファイルパス指定
	// ファイルをオープン
	$file = fopen($csvPath,'r');
	// ロックかけ
	flock($file,LOCK_EX);
	// メソットを利用し、ファイルデータ取得(1行だけ)
	$data1 = F_GET_CSV_REG($file);
	// メソットを利用し、ファイルデータ取得(1行ずつ)
	while ($data = F_GET_CSV_REG($file)) {
		$csvList[] = $data;
	}
	// ロック解除
	flock($file,LOCK_UN);
	// ファイルを閉じる
	fclose($file);

	return  array($data1, $csvList);
}
//CSVのfileからデータを抽出します。
function F_GET_CSV_REG (&$handle, $length = null, $d = ',', $e = '"') {
	$d = preg_quote($d);
	$e = preg_quote($e);
	$eof = false;
	$_line = "";

	while (($eof != true)and(!feof($handle))) {
		$_line .= (empty($length) ? fgets($handle) : fgets($handle, $length));
		$itemcnt = preg_match_all('/'.$e.'/', $_line, $dummy);
		if ($itemcnt % 2 == 0) $eof = true;
	}
	$_csv_line = preg_replace('/(?:\\r\\n|[\\r\\n])?$/', $d, trim($_line));
	$_csv_pattern = '/('.$e.'[^'.$e.']*(?:'.$e.$e.'[^'.$e.']*)*'.$e.'|[^'.$d.']*)'.$d.'/';
	preg_match_all($_csv_pattern, $_csv_line, $_csv_matches);
	$_csv_data = $_csv_matches[1];
	$csvDataCount = count($_csv_data);
	for($_csv_i=0; $_csv_i<$csvDataCount; $_csv_i++){
		$_csv_data[$_csv_i]=preg_replace('/^'.$e.'(.*)'.$e.'$/s','$1',$_csv_data[$_csv_i]);
		$_csv_data[$_csv_i]=str_replace($e.$e, $e, $_csv_data[$_csv_i]);
	}
	return empty($_line) ? false : $_csv_data;
}
csvファイルデータを配列に取得.txt · 最終更新: 2013/12/02 10:44 by luis_lee