Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP и запись массива в файл.

542
30 марта 2003 года
kronosy
16 / / 20.01.2000
Народ, я пишу голосовалку на РНР, с защитой вроде с вашей помощью разобрался, но столкнулся с другой проблемой. Ни как не могу записать массив в файл, таким образом, что бы каждое новое значение было на новой строке. Что то у меня уже получилось, но эта ЮЮЮ с каждой итерацией добавляет все больше и больше переносов на другую стоку :(
Да, и еще один вопрос, что такое сокет?
328
30 марта 2003 года
Felix
257 / / 20.07.2000
Цитата:
Originally posted by kronosy
Народ, я пишу голосовалку на РНР, с защитой вроде с вашей помощью разобрался, но столкнулся с другой проблемой. Ни как не могу записать массив в файл, таким образом, что бы каждое новое значение было на новой строке. Что то у меня уже получилось, но эта ЮЮЮ с каждой итерацией добавляет все больше и больше переносов на другую стоку :(
Да, и еще один вопрос, что такое сокет?


я делал так когда нет возможности писать в базу значить берешь файл первая строка тема голосования, потом кол-во ответивших, разделитель, вариант ответа....
то есть

ТЕМА
12~супер
56~плохо

что то вроде ентого... потом если ктото проголосовал полностью переписываю файл... только число соответственно увеличиваеться....

а вообще напиши код или я те могу скинуть свое только сам будешь выбирать нужное

542
31 марта 2003 года
kronosy
16 / / 20.01.2000
Цитата:
Originally posted by Felix

я делал так когда нет возможности писать в базу значить берешь файл первая строка тема голосования, потом кол-во ответивших, разделитель, вариант ответа....



Вот мой код:
<?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-ой итерации примерно до полумегобайта :( че делать даже не знаю. уже и так и эток подходил к этому вопросу... все равно... пишет тупой значек и все :(





?>

328
31 марта 2003 года
Felix
257 / / 20.07.2000
не пойму зачем
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.
просто как я понимаю фпутс сам добавляет знак новой строки, да еще и ты сам туда его суешь, вот они и множаться....


если что не получиться пиши...
542
03 апреля 2003 года
kronosy
16 / / 20.01.2000
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 был нужен для того что бы выводить на экран промежуточне действия, что бы можно было отследить все ли правельно делается.
250
03 апреля 2003 года
Joker
1.4K / / 20.02.2000
Цитата:
Originally posted by kronosy
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) - кол-во этих строк

328
03 апреля 2003 года
Felix
257 / / 20.07.2000
Цитата:
Originally posted by Joker

мануал смотрю не в почете..
$data=File($namey); -создает массив строк, содержимого файла
count($data) - кол-во этих строк



сенкс Джокеру за ответ...

2kronosy
странно в твоем же коде внутри writefil есть ета функция и ты её используешь....

имхо мануал форева.....

542
04 апреля 2003 года
kronosy
16 / / 20.01.2000
Да, уж. Это я ступил. Просто ламер я еще. Пока писал, все время в книгу смотрел что есть что.
Всего то часов 10-15 посвятил РНР.
Все ведь сразу не упомнишь. Так что извините за тупость.

Только вот тут в процессе у меня еще проблемка вышла.
Пытаюсь определить IP адрес пользователя.
$aip=REMOTE_ADDR;
echo ($aip);
а оно мне в место IP адреса выдает REMOTE_ADDR. Може че не так делаю?
Пробовал даже работать с $aip как с массивом. Тоже ни какого толкового результата.
Что ни так делаю… не пойму :(
250
04 апреля 2003 года
Joker
1.4K / / 20.02.2000
Цитата:
Originally posted by kronosy
Да, уж. Это я ступил. Просто ламер я еще. Пока писал, все время в книгу смотрел что есть что.
Всего то часов 10-15 посвятил РНР.
Все ведь сразу не упомнишь. Так что извините за тупость.

Только вот тут в процессе у меня еще проблемка вышла.
Пытаюсь определить IP адрес пользователя.
$aip=REMOTE_ADDR;
echo ($aip);
а оно мне в место IP адреса выдает REMOTE_ADDR. Може че не так делаю?
Пробовал даже работать с $aip как с массивом. Тоже ни какого толкового результата.
Что ни так делаю… не пойму :(


$ip = getenv ("REMOTE_ADDR"); //

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог