Просмотр полной версии : PHP - записать в фаил содержимое двух других
Всем привет.Такая вот проблемка.Необходимо записать содержимое двух файлов(логинов и паролей из двух файлов),объединив их символов ";" в третий фаил.Вот код,по непонятным причинам неработающий:
<?php
$logins = file('logins.txt');
$passwords = file('passwords.txt');
for ($i=0;$i <= count($logins);$i++) {
file_put_contents('general.txt',"$logins[$i];$passwords[$i]", FILE_APPEND);
}
?>
Этот код записывает содержимое оных в фаил general.txt,но получается совсем не то,что ожидалось.Проверьте сами.
Велемир Как раз то что ожидается, а не то, что думаете вы "{$logins[$i]};{$passwords[$i]}" а лучше не ебать мозг и: trim($logins[$i]).';'.trim($passwords)."\r\n"[$i]
BlackSun
17.09.2009, 18:14
<?php
$logins = file('logins.txt');
$passwords = file('passwords.txt');
$appendTo = 'general.txt';
$i = 0;
$file = fopen($appendTo, 'a');
foreach ($logins AS $login) {
fputs($file, "$login;{$passwords[$i]}\r\n");
$i++;
}
fclose($file);
?>
file_put_contents('general.txt', trim($logins[$i]).";".$passwords[$i], FILE_APPEND);
Gifts,первый вариант работает также,как и предыдущий.Второй вообще не работает,хоть я его уже и пробовал.Ща проверю остальные.
У мя такой результат:
мыло1@mail.ru
;0075
мыло2@mail.ru
;12454568
Pashkela
17.09.2009, 18:28
а если у тебя словарь на 40 мегов даже - конечно не будет работать. Ошибка начинающих - считать массив в цикле.
count лучше привыкать выносить за цикл сразу. Просто не успевает. Сначала посчитал, потом цикл.
Без примеров не вкуривается(.У меня маленький список,ибо там даже 100 кб не наберётся.
У мя такой результат:
мыло1@mail.ru
;0075
Тебе же подсказали:
file_put_contents('general.txt', trim($logins[$i]).";".$passwords[$i], FILE_APPEND);
trim() - убирает пробелы и разрывы строк.
действительно почемуб невоспользоваться
$a=fopen("login.txt", "r");
while(!feof($a)){ и т д- здесь проблемм точно недолжно возникать
Ну,звиняйте,но у мя не заработало(.Вот рабочий пример:
<?php
$logins = explode("\r\n",implode("",file('logins.txt')));
$passwords = file('passwords.txt');
$appendTo = 'general.txt';
$i = 0;
$file = fopen($appendTo, 'a');
foreach ($logins AS $login) {
fputs($file, "$login;{$passwords[$i]}");
$i++;
}
fclose($file);
?>
В первой строке кода реально непонятно,что происходит)),хотя функции знаю:(
mailbrush
17.09.2009, 18:34
<?php
$logins = 'logins.txt';
$passwords = 'passwords.txt';
$out = 'accounts.txt';
$logins = array_map('trim', file($logins));
$passwords = array_map('trim', file($passwords));
$file = fopen($out, 'a+');
foreach ($logins as $key => $login)
{
fwrite($file, $logins[$key] . ';' . $passwords[$key] . "\r\n");
}
fclose($file);
?>
Юзай :)
Тю...пасип конечно.но и предыдущее работает,ток непонятно - КАК ?:(
file делает массив элемтов
implode склеивает обратно в строку вставляя между ними пробел
explode опять разбивает на массив и в качестве разделителя перенос строки
...
LolFEm попровочка, дабы не взорвать неокрепший моск ТС
> implode("",file('logins.txt'));
implode склеивает обратно в строку вставляя между ними НИЧЕГО. сказано же ""
вобщем $str=implode("",file('logins.txt')) равносильно поместить весь файл в $str :)
$logins = explode("\r\n",implode("",file('logins.txt')));
ебать ту люсю :D наркоман, столько лишних маневров, а можно было бы просто юзануть трим.
<?php
$logins = file('logins.txt');
$passwords = file('passwords.txt');
for ($i=0;$i <= count($logins);$i++) {
file_put_contents('general.txt', trim($logins[$i]).';'.trim($passwords[$i]), FILE_APPEND);
}
?>
Пасип за объяснение,комрады.То бишь если у нас пять строк
Вася
Петя
Маня
Люся
Аня
то у нас получится ВасяПетяМаняЛюсяАня,и,если между ними есть пробельный символ,то эксплоуд напугает бедные строчки(.Правильно мыслю?:).
Пасип за объяснение,комрады.То бишь если у нас пять строк
Вася
Петя
Маня
Люся
Аня
то у нас получится ВасяПетяМаняЛюсяАня,и,если между ними есть пробельный символ,то эксплоуд напугает бедные строчки(.Правильно мыслю?:).
прости, но тебя в школе читать не учили?
и так:
1. заходим на какой-нибудь php.su
2. видим там вверху поиск по сайту
3. вбиваем в него название нужной тебе функции
4. из списка найденый тем на яндексе выбираем ту, что подходит
5. блять _читаем_ о том, как работает функция
там даже примеры кода приведены и последствия их выполнения!
просто такие вопросы, ну просто слов нет!
да и вообще если читать в школе не учили, то взял бы, открыл редактор, накидал простенький скрипт показывающий, что делает та или иная функция, да поэкспериментировал с ним
Работает с большими файлами, но если файл с паролями будет очень большой, то будет немного медленно.
<?php
$a = fopen('a.txt', 'rt'); //файл с логинами
$b = fopen('b.txt', 'rt'); //файл с паролями
$c = fopen('c.txt', 'wt'); //файл результата
$separator = ';'; //разделитель
$temp = '';
while(!feof($a))
{
$temp = trim(fgets($a));
//для каждого логина перебираем пароли
while(!feof($b))
fwrite($c, $temp.$separator.trim(fgets($b))."\n");
fseek($b, 0);
}
fclose($a);
fclose($b);
fclose($c);
?>
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot