本文整理汇总了PHP中log::array2table方法的典型用法代码示例。如果您正苦于以下问题:PHP log::array2table方法的具体用法?PHP log::array2table怎么用?PHP log::array2table使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类log
的用法示例。
在下文中一共展示了log::array2table方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: log_update
function log_update($kind, $filename, $key, $mustkey, $data)
{
$log_data = log_read($filename);
$_key = explode(':', $key);
$name = log::set_fieldname($kind);
$put = false;
for ($i = 0; $i < count($log_data); $i++) {
$fld = log::line2field($log_data[$i], $name);
$sw_update = true;
foreach ($_key as $idx) {
if (isset($data[$idx]) && isset($fld[$idx]) && $data[$idx] != $fld[$idx]) {
$sw_update = false;
break;
}
/*
if (empty($data[$idx]) || empty($fld[$idx])) {
$sw_update = false;
break;
}
if ($data[$idx] != $fld[$idx]) {
$sw_update = false;
break;
}
*/
}
if ($sw_update) {
$log_data[$i] = log::array2table($data);
$put = true;
break;
}
}
// Add
if (!$put) {
if ($mustkey) {
if (log_mustkey_check($_key, $data)) {
$log_data[] = log::array2table($data);
$put = true;
}
} else {
$log_data[] = log::array2table($data);
$put = true;
}
}
if (!$put) {
return '';
}
$fp = @fopen($filename, 'wb');
if ($fp == false) {
return '';
}
@flock($fp, LOCK_SH);
foreach ($log_data as $_log_data) {
fputs($fp, $_log_data);
}
@flock($fp, LOCK_UN);
@fclose($fp);
}
示例2: log_put_guess
function log_put_guess($data)
{
// ユーザを推測する
$user = log::guess_user($data['user'], $data['ntlm'], $data['sig']);
if (empty($user)) {
return;
}
$filename = log::set_filename('guess_user', '');
// ログファイル名
if (file_exists($filename)) {
$src = file($filename);
// ログの読み込み
} else {
// 最初の1件目
$data = log::array2table(array($data['ua'], $data['host'], $user, ""));
log_put($filename, $data);
return;
}
$sw = FALSE;
foreach ($src as $_src) {
$x = trim($_src);
$field = log::table2array($x);
// PukiWiki 表形式データを配列データに変換
if (count($field) == 0) {
continue;
}
if ($field[0] != $data['ua']) {
continue;
}
if ($field[1] != $data['host']) {
continue;
}
if ($field[2] != $user) {
continue;
}
$sw = TRUE;
break;
}
if ($sw) {
return;
}
// 既に存在
// データの更新
$data = log::array2table(array($data['ua'], $data['host'], $user, ''));
log_put($filename, $data);
}