Добрый день! Столкнулся с задачей: необходимо собрать IP посетителя и внести его в таблицу в отдельном файле типа csv/excel. Использовал обычную запись, но с ней не удобно работать... Спойлер: Код Код (Text): <?php $log_file = 'user-ip.csv'; $log_time = date("Y-m-d H:i:s"); $log_ip = $_SERVER['REMOTE_ADDR']; if($log_ip == '*.*.*.*'){ $log_ip_admin = Admin; } elseif($log_ip =='37.9.118.*') { $log_ip_bot = YA_BOT; } elseif ($log_ip =='66.249.*.*') { $log_ip_bot = GOOGLE; } $log_info = "$log_ip $log_time $log_ip_admin $log_ip_bot \n"; file_put_contents($log_file, $log_info, FILE_APPEND); ?> Подскажите как оформить запись, что бы данные попадали в ячейки таблицы?
Записать инфо получилось, но все ровно формат не тот, которого хотелось добиться. Информация записывается из массива в 1 строку, а не в отдельные ячейки...
Естественно. А значения этой строки, разделенные запятой или другим разделителем и есть ячейки. Или же вы что-то не так в коде сделали, или же неправильно импортируете CSV-файл в Excel. Т.к. у вас нет циклов, то весь PHP-код можно свести к одной строке, при условии, что версия PHP >= 5.4 PHP: <?php (new SplFileObject('file.csv', 'a'))->fputcsv([$log_ip,$log_time,$log_ip_admin,$log_ip_bot]); Импортировать CSV-файл можно следующим образом: 1. Создаём пустой документ Excel 2. Закладка "Данные" (Data), кнопка в меню "Из текста" (From Text) 3. Откроется Мастер импорта текстов и выполняем все шаги: указываем формат с разделителем, кодировку, символ разделителя, формат столбцов (в вашем случае, можно указать для всех "текстовый")
Свежие версии Office могут открывать CSV-файлы без лишних танцев с бубном. Например, у меня Office 2013 и обычный двойной клик по файлу, сразу открывает его, как привычный Excel-документ. Как там было с версиями 2003 и ниже - уже точно не помню, но скорее всего, что они не распознавали CSV автоматом