|
|
|
| Есть файл1.тхт он содержит по фразе на строчку
как брать по две строки фраз из файл1.тхт и записывать в файл2.тхт в одну строку
файл1.тхт
фраза1
фраза2
фраза3
фраза4
фраза5
фраза6
файл2.тхт
фраза1 фраза2
фраза3 фраза4
фраза5 фраза6
Помогите пожалуйста :) | |
|
|
|
|
|
|
|
для: Alexn99
(19.07.2006 в 23:31)
| | Где-то так
<?
$text = file("fail1.txt");
for($i = 0; $i < count($text); $i += 2)
{
$text2 .= $text[$i]." ".$text[$i+1]."\r\n";
}
$fp = fopen("fail2.txt","w");
fwrite($fp, $text2);
fclose($fp);
?>
|
| |
|
|
|
|
|
|
|
для: Ziq
(19.07.2006 в 23:45)
| | Не работает, пишет ошибку в шестой строке
Notice: Undefined variable: text2 in ... on line 6
Notice: Undefined offset: 47 in ... on line 6
и создает в файл2.тхт не правельно
фраза1
пробел фраза2
пустая строка
фраза3
пробел фраза4
пустая строка
фраза5
пробел фраза6
...помогите пожалуйста... | |
|
|
|
|
|
|
|
для: Alexn99
(20.07.2006 в 11:02)
| |
@$text2 .= $text[$i]." ".$text[$i+1]."\r\n";
|
Записывает оно всё правильно если файл1 правильно построен. | |
|
|
|
|
|
|
|
для: Alexn99
(20.07.2006 в 11:02)
| | На самом деле можно проще.
<?
$f1 = fopen('file1.txt', 'rb');
$f2 = fopen('file2.txt', 'wb');
for($sep = ' '; !feof($f1); $sep = $sep == ' ' ? "\r\n" : ' ')
fputs($f2, rtrim(fgets($f1), "\r\n").$sep);
if($sep != ' ')
fputs($sep);
fclose($f2);
fclose($f1);
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(20.07.2006 в 11:14)
| | 2Trianon отлично работает, но выдает такое сообщение
Warning: Wrong parameter count for fputs() in ... on line 9
Если не сложно, помоги пожалуйста с ситуацией когда надо группировать большее число строк в одну, в идеале присваиваем пременной число строк для группировки и твой скриптик обращается к этой пременной...
я не ленив, я просто еще не все знаю :) | |
|
|
|
|
|
|
|
для: Alexn99
(20.07.2006 в 11:45)
| |
<?
$text = file("fail1.txt");
$lines_to_line=15; // 15 строк в одну. Вообщем твоя переменная
for($i = 0; $i < count($text); $i += $lines_to_line)
{
$counter=$i;
for($counter;$counter<$lines_to_line;$counter++){
$text2 .= $text[$counter];
}
$tex2.="\r\n";
}
$fp = fopen("fail2.txt","w+");
fwrite($fp, $text2);
fclose($fp);
?>
|
| |
|
|
|
|
|
|
|
для: valenok
(20.07.2006 в 11:50)
| | не работает... | |
|
|
|
|
|
|
|
для: Alexn99
(20.07.2006 в 11:45)
| | И что это у Вас за fputs такой странный....
<?
$f1 = fopen('file1.txt', 'rb');
$f2 = fopen('file2.txt', 'wb');
for($idx = 0; !feof($f1); )
{
$sep = (++$idx % 5) ? ' ': "\r\n";
$out = rtrim(fgets($f1), "\r\n").$sep;
fputs($f2, $out, strlen($out));
}
if($sep == ' ')
fputs("\r\n");
fclose($f2);
fclose($f1);
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(20.07.2006 в 12:56)
| | 2Trianon Все правельно создает, спасибо, но осталось сообщение
Warning: Wrong parameter count for fputs() in ... on line 13
я попробывал в файл1.тхт добавить фразу-строку ручками, получилось старые фразы-строки смеслитились на одну строку вниз, а новая фраза на первой строке, сохранил и больше ошибку не выдавало, но как только эту фразу удалил, вернул так сказать в исходное содержение, то предупреждение опять появилось
в чем проблемка? | |
|
|
|
|
|
|
|
для: Alexn99
(20.07.2006 в 13:42)
| | показывайте Ваш текст программы. | |
|
|
|
|
|
|
|
для: Trianon
(20.07.2006 в 13:50)
| | вот прикрепил к сообщению файл1.тхт с которым выдает Warning: Wrong parameter count for fputs() in ... on line 13 | |
|
|
|
|
|
|
|
для: Alexn99
(20.07.2006 в 14:05)
| |
<?
....
if($sep == ' ')
fwrite($f2,"\r\n");
?>
|
| |
|
|
|
|
|
|
|
для: axxil
(20.07.2006 в 14:21)
| | Спасибо, заменив работает... | |
|
|
|
|
|
|
|
для: Alexn99
(20.07.2006 в 14:05)
| | Прошу прощения... Сам ошибся. Вот так:
<?
$f1 = fopen('file1.txt', 'rb');
$f2 = fopen('file2.txt', 'wb');
for($idx = 0; !feof($f1); )
{
$sep = (++$idx % 5) ? ' ': "\r\n";
fputs($f2, rtrim(fgets($f1), "\r\n").$sep);
}
if($sep == ' ')
fputs($f2, "\r\n");
fclose($f2);
fclose($f1);
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(20.07.2006 в 14:43)
| | Спасибо, работает!
:) | |
|
|
|