@ Найджел Рен, я должен сделать, как ты мне скажешь ... с json ..., я должен попробовать без Json, но, поскольку я очень новичок в PHP, я не знаю, как это сделать ....
Может быть, заголовок моего вопроса, php file_put_contents без записанных байтов не самый лучший .... потому что это не ответственность по количеству моих байтов, а функция сериализации ..... Возможно, лучшим заголовком будет: PHP - Как отобразить возвращаемое значение без номера байта и без Json .
Потому что в моем коде есть массив
$data = array("name" => $this->Name, "email" => $this->Email, "message" => $this->Message, "datetime" => $datetime);
должен использовать функцию serialize , поэтому я получаю вывод с количеством байтов.
Функция сериализации
Массив или объект PHP или другая сложная структура данных не могут быть перенесены, сохранены или использованы иным образом за пределами работающего сценария PHP. Если вы хотите сохранить такую сложную структуру данных после одного запуска скрипта, вам нужно ее сериализовать. Это просто означает поместить структуру в «более низкий общий знаменатель», который может обрабатываться другими вещами, кроме PHP, такими как базы данных, текстовые файлы, сокеты. Стандартная функция PHP serialize - это просто формат для выражения такой вещи, она сериализует структуру данных в строковое представление, уникальное для PHP, и может быть преобразовано в объект PHP с помощью unserialize. Однако существует много других форматов, таких как JSON или XML.
С здесь (Первый ответ ..)
Итак, поскольку я не получу свои возвращаемые значения вместе с числом байтов и не знаю, что делать только с PHP, я использую Json. В моем коде у меня есть только для изменения else оператор, остальные из кода остаются идентичными.
else
{
$file = "test.txt";
$datetime = date('m/d/Y h:i:s a', time());
$data = array("name" => $this->Name, "email" => $this->Email, "message" => $this->Message, "datetime" => $datetime);
$data = json_encode($data);
file_put_contents($file, $data . "\n", FILE_APPEND|LOCK_EX);
$messages = file($file);
foreach ($messages as $value) {
$data = json_decode($value, true);
echo "<br>"
. "<b>From: </b>" . htmlspecialchars( $data["name"])
. "<b> at: </b>" . htmlspecialchars( $data["datetime"])
. "<br><br>" . htmlspecialchars( $data["email"])
. "<br><br>" . htmlspecialchars( $data["message"])
. "<br><hr>";
}
}
и теперь мой вывод из моего файла test.txt
{"name": "aaaa", "email": "aaa@gmx.de", "message": "mmmmmmmmmmmmmmmmmmmmmmmmmmm", "datetime": "12.11.2008 02:49:46 pm"}