// 入力情報をテンプレートにセット // -------------------------------------------------------------- if (empty($page)) { // 入力画面 or 入力エラー画面 foreach ($_POST as $k => $v) { $tmpl->set($k, h($v)); } $tmpl->set('_GET', h($_GET)); $tmpl->set('_SERVER', h($_SERVER)); } elseif ($page === 'confirm' || $page === 'finish') { // 確認画面 or 完了画面 $params = array(); $hiddens = array(); // $_POST foreach ($_POST as $k => $v) { if (!preg_match(exclusion_item_pattern(), $k)) { if (is_array($v)) { $s = implode(', ', $v); $tmpl->set("{$k}.array", array_map('h', $v)); } else { $s = $v; } $h = convert_input_hidden($k, $v); $tmpl->set("{$k}.key", h($k)); $tmpl->set("{$k}.value", h($s)); $tmpl->set("{$k}.value.nl2br", nl2br(h($s))); $tmpl->set("{$k}.hidden", $h); $params[] = array('key' => h($k), 'value' => h($s), 'value.nl2br' => nl2br(h($s)), 'hidden' => $h); $hiddens[] = $h; } }
function put_csv($post) { $a = array(); foreach ($post as $k => $v) { if (!preg_match(exclusion_item_pattern(), $k)) { if (is_array($v)) { $s = implode(' / ', $v); } else { $s = $v; } // エンコード変換 if (CSV_ENCODE !== 'UTF-8') { $ck = mb_convert_encoding($k, CSV_ENCODE, 'UTF-8'); $cs = mb_convert_encoding($s, CSV_ENCODE, 'UTF-8'); $a[$ck] = $cs; } else { $a[$k] = $s; } } } // key順に並び替える(デザインが変更しても良いように) //ksort($a); // ファイル名 $csv_name = DIR_LOGS . '/' . CSV_FILE; // ファイルロック $lock_file = DIR_LOGS . '/lock'; do { usleep(100000); // 0.1秒スリープ(2000000 = 1秒) $lock_fp = @fopen($lock_file, 'w'); $lock = @flock($lock_fp, LOCK_EX); } while (!$lock); // ファイルが存在するかどうかの確認 $first_time = false; if (file_exists($csv_name) === false) { $first_time = true; } // ファイル書き込み $fp = fopen($csv_name, 'a'); // 最初の書き込みの場合は、ヘッダーも追加する if ($first_time) { $byte = fputcsv($fp, array_keys($a)); } $byte = fputcsv($fp, array_values($a)); fclose($fp); // ファイルロックの終了処理 fclose($lock_fp); unlink($lock_file); return $byte; }