|
|
|
| Подскажите, пожалуйста, как реализовать следующее:
Есть текстовый документ, в нем 300 строк.
Надо раскидать эти строки по 15 штук в 20 документов. | |
|
|
|
|
|
|
|
для: idimka
(02.06.2007 в 03:27)
| |
<?php
$full = file ('full.txt');
for ($i=0; $i<20; $i++)
{
$short = array_slice ($full, ($i*15), 15);
$fp = fopen ("short_$i.txt", 'w');
fwrite ($fp, implode('', $short));
fclose ($fp);
}
?>
|
| |
|
|
|
|
|
|
|
для: idimka
(02.06.2007 в 03:27)
| |
<?php
for ($full = fopen("full.txt", "rb"),$i=0; $i<20; $i++)
for($short = fopen ("short_$i.txt", 'wb'), j = 0; $j < 20; $j++)
fputs($short, fgets($full));
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(02.06.2007 в 12:12)
| | $j = 0 | |
|
|
|
|
|
|
|
для: Unkind
(02.06.2007 в 12:15)
| | Да, конечно :) | |
|
|
|
|
|
|
|
для: Trianon
(02.06.2007 в 12:12)
| | сомневаюсь, что он обойдет 300 строк | |
|
|
|
|
|
|
|
для: bronenos
(02.06.2007 в 12:58)
| | ему что-то помешает? | |
|
|
|
|
|
|
|
для: Trianon
(02.06.2007 в 13:19)
| | попробуйте запустить, у меня сомнения.... )) | |
|
|
|
|
|
|
|
для: bronenos
(02.06.2007 в 13:50)
| | Запустил. Учтя правку Unkind'а, конечно же.
Теперь попробуйте Вы. Возможно, сомнения уйдут :))) | |
|
|
|
|
|
|
|
для: Trianon
(02.06.2007 в 15:52)
| | не запуская скажу что он кладет в файлы по 20 строк :) | |
|
|
|
|
|
|
|
для: bronenos
(02.06.2007 в 16:37)
| | ну и? :))) Триста не положит? По-моему, положит даже четыреста. | |
|
|
|
|
|
|
|
для: Trianon
(02.06.2007 в 20:25)
| | я просто при беглом просмотре заметил что что то не так
потом понял что он просто берет по 20 строк
извиняюсь за шум)
можете постучаться? 4110863 | |
|
|
|
|
|
|
|
для: bronenos
(02.06.2007 в 20:56)
| | Сейчас - нет. Нечем. В будни - пожалуйста. | |
|
|
|
|
|
|
|
для: Trianon
(02.06.2007 в 12:12)
| | а как сделать стобы документы создавались в .htm а не в .txt | |
|
|
|
|
|
|
|
для: Trianon
(02.06.2007 в 12:12)
| | а как сделать стобы документы создавались в .htm а не в .txt | |
|
|
|
|
|
|
|
для: pornocat
(08.06.2007 в 16:30)
| | Посмотреть внимательно код и заменить txt на htm. | |
|
|
|
|
|
|
|
для: pornocat
(08.06.2007 в 16:30)
| | внутри внешнего цикла дописать вывод шапки и подножия.
строки при выводе прогонять через htmlspecialchars.
при необходимости добавлять <br/> | |
|
|
|
|
|
|
|
для: Trianon
(08.06.2007 в 16:44)
| | Если не сложно может напишете более подробно | |
|
|
|
|
|
|
|
для: idimka
(02.06.2007 в 03:27)
| | Спрасибо большое!
Мне хотелось бы еще выполнить одну задачу:
я хочу 15 слов вставить в определенное место, а конкретнее указать какое-то слово в short.txt и дописать к нему те 15 слов.
Я попробовал написать, но у меня не получилось. Получились пустые документы full.txt.
Поправьте, если не сложно:
<?php
$full = file ('full.txt');
for ($i=1; $i<20; $i++)
{
$short = array_slice ($full, ($i*15), 15);
$fp = open ("short_$i.txt", 'w');
str_replace ("slovo", "slovo.$short", $fp);
fclose ($fp);
?>
|
| |
|
|
|
|
|
|
|
для: idimka
(03.06.2007 в 23:28)
| |
<?php
$full = file ('full.txt');
for ($i=1; $i<20; $i++)
{
$short = array_slice ($full, ($i*15), 15);
$file = file_get_contents ("short_$i.txt");
$file = str_replace ("slovo", "slovo.$short", $file);
$fp = fopen ("short_$i.txt", 'w');
/* flock ($fp, 2); */
fwrite ($fp, $file);
/* flock ($fp, 3); */
fclose ($fp);
}
?>
|
| |
|
|
|
|
|
|
|
для: idimka
(02.06.2007 в 03:27)
| | Замена не идет:
$file = str_replace ("slovo", "slovo.$short", $file); //вместо $short подставляется Array
|
| |
|
|
|
|
|
|
|
для: idimka
(03.06.2007 в 23:59)
| | протупил.. | |
|
|
|
|
|
|
|
для: idimka
(02.06.2007 в 03:27)
| | Ребят, кто-нибудь помогите мне пожалуйста с заменой, я не пойму в чем ошибка. Уже с этими кавычками помучился, код не очень догоняю, я еще новичок. Но этот код позарез нужен. | |
|
|
|
|
|
|
|
для: idimka
(05.06.2007 в 13:00)
| | так?
<?
$short = array_slice ($full, ($i*15), 15);
$short = implode (' ', $short);
?>
|
| |
|
|
|
|
|
|
|
для: idimka
(02.06.2007 в 03:27)
| | Спасибо большое! Все работает. | |
|
|
|
|
|
|
|
для: idimka
(02.06.2007 в 03:27)
| | А implode () в данном случае заменяет перевод строки на пробелы? Просто интересно почему без этой строчки ничего не получалось... | |
|
|
|
|
|
|
|
для: idimka
(05.06.2007 в 15:45)
| | он соединяет элементы массива в строку символом - первым параметром | |
|
|
|
|
|
|
|
для: idimka
(02.06.2007 в 03:27)
| | Вы знаете, я не много в расстерянности. str_replace () ведь работает с массивами, но зачем надо было применять implode (), а потом еще file_get_contents ()? Читал справочник не врубился.
Я вообще понимаю что implode () и file_get_contents () нужны здесь для того, чтобы массив превратить в строку. Или я бред говорю... | |
|
|
|
|
|
|
|
для: idimka
(05.06.2007 в 23:07)
| |
$a = array ('g', 'j', 'k');
print implode ('-', $a); /* g-j-k */
|
file_get_contents просто получает содержимое файла в виде строки | |
|
|
|
|
|
|
|
для: idimka
(02.06.2007 в 03:27)
| | Спасибо, теперь более менее понятно. | |
|
|
|