[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не записываются данные в файл
kuchuluk
здравствуйте.
сначала писал код сам, но выводилаcь ошибка, потом скопировал код из примера, и все равно выводятся те же самые ошибки:
Notice: unserialize() [function.unserialize]: Error at offset 0 of 29 bytes in Z:\home\my-site\www\index.php on line 87
Warning: Invalid argument supplied for foreach() in Z:\home\my-site\www\index.php on line 89
вот строчка 87:
$array = unserialize(file_get_contents('text.txt'));

вот строчка 89:
foreach($array as $id => $post)

Версия Apache у меня 2.2.4 , версия PHP 5.2.12
Вроде версии подходят. Подскажите пожалуйста, кто знает.



Спустя 7 минут, 17 секунд (27.05.2012 - 23:59) Guest написал(а):
print_r($array); может $array у тебя не массив?

Спустя 1 минута, 4 секунды (28.05.2012 - 00:00) inpost написал(а):
Guest
Ошибка ещё до foreach, первая ошибка как раз на unserialize, то есть проверять надо file_get_contents и файл text.txt

Спустя 7 часов, 30 минут, 6 секунд (28.05.2012 - 07:30) kuchuluk написал(а):
Цитата (inpost @ 27.05.2012 - 21:00)
inpost

там выше, еще до формы идет код
if(file_exists('text.txt')) 
{
// Читаем файл и десериализуем массив
$posts = unserialize(file_get_contents('text.txt'));
// Достаем все ключи в другой массив
$keys = array_keys($posts);
// Вытаскиваем самый большой элемент и увеличиваем на 1
$id = max($keys) + 1;
} // Если файла нет, значит запись № 1
else
$id = 1;
// Устанавливаем новый ключ
$posts[$id]['date'] = date('d-m-Y');
$posts[$id]['name'] = $text1;
$posts[$id]['mess'] = $text2;

file_put_contents('text.txt', serialize($posts));

получается должны в файл записываться и дата и имя и сообщение. но в файле text.txt содержатся только сообщения

Спустя 7 часов, 49 минут, 48 секунд (28.05.2012 - 15:20) inpost написал(а):
kuchuluk
Хоть что-то добавляется? Может путь не может найти и ничего не делает с файлом? Точно ли вообще хоть какая-то запись добавляется?

Спустя 3 часа, 16 минут, 20 секунд (28.05.2012 - 18:36) kuchuluk написал(а):
inpost
нет, вообще ничего не добавляется. Эти ошибки вылазиют сразу при открытии формы. А если заполнять форму и нажимать кнопку, то еще 4 ошибки появляются:
Notice: unserialize() [function.unserialize]: Error at offset 0 of 29 bytes in Z:\home\my-site\www\index.php on line 47
Warning: array_keys() [function.array-keys]: The first argument should be an array in Z:\home\my-site\www\index.php on line 49
Warning: Wrong parameter count for max() in Z:\home\my-site\www\index.php on line 51
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\my-site\www\index.php:47) in Z:\home\my-site\www\index.php on line 62
вот 47-51 строки:
 // Читаем файл и десериализуем массив 
$posts = unserialize(file_get_contents('text.txt'));
// Достаем все ключи в другой массив
$keys = array_keys($posts);
// Вытаскиваем самый большой элемент и увеличиваем на 1
$id = max($keys) + 1;

вот 62 строка
header('location: http://'. $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);

в 62 строке перенаправляется обратно на этот же файл

Спустя 2 минуты, 8 секунд (28.05.2012 - 18:39) Игорь_Vasinsky написал(а):
$posts = unserialize(file_get_contents('text.txt'));
$posts =file('text.txt');

Спустя 53 минуты, 55 секунд (28.05.2012 - 19:33) kuchuluk написал(а):
Игорь_Vasinsky
спасибо. так заработало) только теперь выводятся не все записи, а только та, которая была записана последней, и еще какие-то непонятные записи. Вот так:
user posted image

Спустя 3 часа, 19 минут, 22 секунды (28.05.2012 - 22:52) Игорь_Vasinsky написал(а):
нужно видеть содержимое файла

Спустя 17 часов, 3 минуты, 23 секунды (29.05.2012 - 15:55) kuchuluk написал(а):
Цитата (Игорь_Vasinsky @ 28.05.2012 - 19:52)
нужно видеть содержимое файла

вот

Спустя 35 секунд (29.05.2012 - 15:56) kuchuluk написал(а):
может у меня в настройках PHP что-то не так...

Спустя 11 минут, 34 секунды (29.05.2012 - 16:07) kuchuluk написал(а):
опа, заработал!!! там в примере в конце не стоял закрывающий ?>, и я его поставил, у меня не работало. Когда я его убрал - заработало! Почему закрывающий тег не нужен?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.