Я пытаюсь написать некоторый php-код, который принимает $ _GET-данные как входные данные и сохраняет их в csv-файл. При выполнении кода больше, чем один раз мой CSV-файл выглядит следующим образом:Функция php file() создает кавычки и запятые
Date,Time,Temperature,"Air Humidity","Soil Humidity",Light,"Wind Direction","Wind Speed",Rain
2013-03-16,16:24:27,12,80,40,82,255,10,0
"2013-03-16,16:24:26,12,80,40,82,255,10,0
","""2013-03-16,16:24:26,12,80,40,82,255,10,0
",""",""""""2013-03-16,16:24:25,12,80,40,82,255,10,0
",""","""""",""""
",""",""""""
","""
"
Как вы можете видеть, программа добавляет кавычки и запятые в мои данные, которые я не хочу. Это, по-видимому, выполняется с помощью файла («weather_data.csv»), но я не знаю, как отключить или обойти это.
Это мой код сейчас:
<?php
// Save received data into variables:
$temperature = $_GET["t"];
$airHumidity = $_GET["ha"];
$soilHumidity = $_GET["hs"];
$light = $_GET["l"];
$windDir = $_GET["wd"];
$windSpeed = $_GET["ws"];
$rain = $_GET["r"];
// Arrays for the column descriptor (first line in the csv-file) and the recent data:
$columnDescriptor = array("Date","Time","Temperature","Air Humidity","Soil Humidity","Light","Wind Direction","Wind Speed","Rain");
$recentData = array(date("Y-m-d"),date("H:i:s"),$temperature,$airHumidity,$soilHumidity,$light,$windDir,$windSpeed,$rain);
$fileContents = file("weather_data.csv");
array_shift($fileContents); // removes first field of $fileContents
$file = fopen("weather_data.csv","w");
fputcsv($file,$columnDescriptor);
fputcsv($file,$recentData);
fputcsv($file,$fileContents);
fclose($file);
?>
, похоже, у вас есть некоторые проблемы с логикой коды. как вы можете видеть, первая строка не имеет проблем, она начинает ставить котировки только после второй строки. – mavili