Created
March 6, 2024 06:56
-
-
Save tweenpix/92cc8f977c3e8a1a3e1a2ea9b7c4d8df to your computer and use it in GitHub Desktop.
loging post vars in cvs format file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
Автор: apexweb.ru | |
Запись в лог файл введенного адреса в формат CSV | |
*/ | |
// Ограничение размера входных данных | |
$max_input_size = 1024; // Подстраивайте под свои нужды | |
// Получаем данные из POST запроса | |
$searchData = json_decode(file_get_contents('php://input'), true); | |
$searchField =$searchData['search']; | |
// Проверяем, получены ли данные и существует ли переменная search | |
if (!empty($searchField)) { | |
if (strlen($searchField) > $max_input_size) { | |
// Запись ошибки в журнал или обработка слишком больших данных | |
$response = ['status' => 'error', 'message' => 'Размер входных данных превышает максимально допустимый.']; | |
} else { | |
// Записываем данные в лог | |
$fields = [date('d-m-Y H:i:s'), $_SERVER['REMOTE_ADDR'], $searchField]; | |
log_msg($fields); | |
// Возвращаем успешный ответ | |
$response = ['status' => 'success', 'message' => 'Адрес '.$searchField.' получен и записан']; | |
} | |
} else { | |
// Если переменная search не была получена | |
$response = ['status' => 'error', 'message' => 'не вышло:(']; | |
} | |
// Функция записи в лог | |
function log_msg($msg) | |
{ | |
$log_file = $_SERVER['DOCUMENT_ROOT'] . '/logs/livesearch.log'; | |
// Открытие файла в режиме дозаписи | |
$fp = fopen($log_file, 'a+'); | |
if ($fp) { | |
// Экранирование спецсимволов и запись в CSV | |
fputcsv($fp, $msg,";"); | |
fclose($fp); | |
} else { | |
// Ошибка при открытии файла для записи | |
exit('Не удалось открыть файл журнала для записи.'); | |
} | |
} | |
// Возвращаем ответ в формате JSON | |
header('Content-Type: application/json'); | |
echo json_encode($response); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment