PHP и запись массива в файл.
Да, и еще один вопрос, что такое сокет?
Народ, я пишу голосовалку на РНР, с защитой вроде с вашей помощью разобрался, но столкнулся с другой проблемой. Ни как не могу записать массив в файл, таким образом, что бы каждое новое значение было на новой строке. Что то у меня уже получилось, но эта ЮЮЮ с каждой итерацией добавляет все больше и больше переносов на другую стоку :(
Да, и еще один вопрос, что такое сокет?
я делал так когда нет возможности писать в базу значить берешь файл первая строка тема голосования, потом кол-во ответивших, разделитель, вариант ответа....
то есть
ТЕМА
12~супер
56~плохо
что то вроде ентого... потом если ктото проголосовал полностью переписываю файл... только число соответственно увеличиваеться....
а вообще напиши код или я те могу скинуть свое только сам будешь выбирать нужное
я делал так когда нет возможности писать в базу значить берешь файл первая строка тема голосования, потом кол-во ответивших, разделитель, вариант ответа....
Вот мой код:
<?php
$buka ="2";
echo ("Вы ответили: $buka
");
echo ("<hr align='left' width='200'>");
function writefil($name)
{
global $siz,$cont;
$fd=fopen("$name", "r" );
$cont = file("$name");
fclose($fd);
$siz=sizeof($cont);
}
function savefil($namey, $mastr) {
$fd = fopen($namey, "w+" );
$conts = fputs($fd, $mastr);
fclose( $fd );
}
writefil("03.txt");
$i=0;
while ($i < $siz) {
global $i;
echo ("$cont[$i]");
$i++;
}
if ( $buka=="1" ) { $cont[0]=$cont[0]+1 ; echo("
$cont[0]"); }
if ( $buka=="2" ) { $cont[1]=$cont[1]+1 ; echo("
$cont[1]"); }
if ( $buka=="3" ) { $cont[2]=$cont[2]+1 ; echo("
$cont[2]"); }
$mymas= implode($cont, "\n");
echo ("<hr align='left' width='200'>");
echo ("$mymas");
savefil("03.txt",$mymas);
Я хотел, что бы читался файл в массив, и пока что он читается. потом прибавляется 1, потом массив пишется в файл, разделенный новой строчкой типа :
0
1
1
5
а в место новой строчки ... что делаю не правельно не знаю... этот РНР добавляет добавляет какой то странный значек, что то вроде Ъ или как то так... ну это еще пол беды, при каждом следуюшем прочтении - записи, эти значки плодятся, и массив выростает на 16-ой итерации примерно до полумегобайта :( че делать даже не знаю. уже и так и эток подходил к этому вопросу... все равно... пишет тупой значек и все :(
?>
writefil("03.txt");
$i=0;
while ($i < $siz) {
global $i;
echo ("$cont[$i]");
$i++;
}, очевидно для вывода, хотя я б сделал по другому, попробуй функцию записи вот такую
function savefil($namey) {
$data=File($namey);
$fd = fopen($namey, "w+" );
for ($i=0;$i<count($data);$i++)
{
fputs($fb,$cont[$i]);
};
fclose( $fd );
};
здесь $cont[$i] ето масив ответов ...фактически енто строки твоего файла, только не забудь сначала нужную строку увеличить на 1.
просто как я понимаю фпутс сам добавляет знак новой строки, да еще и ты сам туда его суешь, вот они и множаться....
если что не получиться пиши...
$data=File($namey);
$fd = fopen($namey, "w+" );
for ($i=0;$i<count($data);$i++)
{
fputs($fb,$cont[$i]);
};
fclose( $fd );
};
Спасибки за ответ. Вроде потихоньку разобрался.
Но только одно не понятно,
ято значит
$data=File($namey);
и что значит
count($data)в условии цикла?
PS:Да, кстати wfitefil был нужен для того что бы выводить на экран промежуточне действия, что бы можно было отследить все ли правельно делается.
function savefil($namey) {
$data=File($namey);
$fd = fopen($namey, "w+" );
for ($i=0;$i<count($data);$i++)
{
fputs($fb,$cont[$i]);
};
fclose( $fd );
};
Спасибки за ответ. Вроде потихоньку разобрался.
Но только одно не понятно,
ято значит
$data=File($namey);
и что значит
count($data)в условии цикла?
PS:Да, кстати wfitefil был нужен для того что бы выводить на экран промежуточне действия, что бы можно было отследить все ли правельно делается.
мануал смотрю не в почете..
$data=File($namey); -создает массив строк, содержимого файла
count($data) - кол-во этих строк
мануал смотрю не в почете..
$data=File($namey); -создает массив строк, содержимого файла
count($data) - кол-во этих строк
сенкс Джокеру за ответ...
2kronosy
странно в твоем же коде внутри writefil есть ета функция и ты её используешь....
имхо мануал форева.....
Всего то часов 10-15 посвятил РНР.
Все ведь сразу не упомнишь. Так что извините за тупость.
Только вот тут в процессе у меня еще проблемка вышла.
Пытаюсь определить IP адрес пользователя.
$aip=REMOTE_ADDR;
echo ($aip);
а оно мне в место IP адреса выдает REMOTE_ADDR. Може че не так делаю?
Пробовал даже работать с $aip как с массивом. Тоже ни какого толкового результата.
Что ни так делаю… не пойму :(
Да, уж. Это я ступил. Просто ламер я еще. Пока писал, все время в книгу смотрел что есть что.
Всего то часов 10-15 посвятил РНР.
Все ведь сразу не упомнишь. Так что извините за тупость.
Только вот тут в процессе у меня еще проблемка вышла.
Пытаюсь определить IP адрес пользователя.
$aip=REMOTE_ADDR;
echo ($aip);
а оно мне в место IP адреса выдает REMOTE_ADDR. Може че не так делаю?
Пробовал даже работать с $aip как с массивом. Тоже ни какого толкового результата.
Что ни так делаю… не пойму :(
$ip = getenv ("REMOTE_ADDR"); //