|
|
|
| Добрый день!
Есть код:
<?php
for($i=0; $i<=10; $i++)
{
$name = $i.'.html';
$fp = @fopen ($name, 'w');
if ($fp)
{
$contents="первые 50 строк";
fwrite ($fp, $contents);
echo "$name - great!<br>";
fclose ($fp);
}
else die ("Couldn't open the file!");
}
?>
|
Этот скрипт создает 10 файлов.
Нужно ,чтобы в каждый из этих файл впихивались данные с file.txt построчно, каждые 50 строк в новый файл.
На выходе получается 10 файликов с инфой с file.txt (по 50 строк в каждом ).
Зарание спасибо! | |
|
|
|
|
|
|
|
для: restall
(25.03.2008 в 18:54)
| | У меня в голове сейчас вертится очень тупой способ... Если вам подойдёт, напишу, но скорее всего он будет немного грузить систему... | |
|
|
|
|
|
|
|
для: DEM
(25.03.2008 в 19:02)
| | ну, давайте попробуем, оптимизируем и прийдем к более облегченному... | |
|
|
|
|
|
|
|
для: restall
(25.03.2008 в 19:10)
| | может так типа...
<?php
$arr = file("file.txt");//откуда берем
$shift = 50;
for($i=0; $i<=10; $i++)
{
$arrW = array_splice($arr,0,$shift);
if( count($arrW) == 0 )break;
$name = $i.'.html';
$fp = @fopen ($name, 'w');
if ($fp)
{
$contents=implode( "\n", $arrW );
fwrite ($fp, $contents);
echo "$name - great!<br>";
fclose ($fp);
}
else die ("Couldn't open the file!");
}
?>
|
| |
|
|
|
|
|
|
|
для: KirillKiev
(25.03.2008 в 19:42)
| | Всем, спасибо... уже ближе))
<?php
$arr = file("file.txt");//откуда берем
$shift = 50;
for($i=0; $i<=10; $i++)
{
$arrW = array_splice($arr,0,$shift);
if( count($arrW) == 0 )break;
$name = $i.'.html';
$fp = @fopen ($name, 'w');
if ($fp)
{
$contents=implode( "\n", $arrW );
fwrite ($fp, $contents);
echo "$name - great!<br>";
fclose ($fp);
}
else die ("Couldn't open the file!");
}
?>
|
этот работает... но тут еще такое дело...
Мне нужно выполнить некоторые функции с каждой строчкой...
Мн нужно ее заключить в теги... это раз (file.txt - ссылки...) их нужно будет сделать ссылками...
+ еще несколько фильтровых фцнкций...
как реализовать это? Чтобы можно было работать с кажой строкой еще.. | |
|
|
|
|
|
|
|
для: restall
(25.03.2008 в 19:10)
| | Попобуйте так... хоть я и не уверен, что правильно..
<?php
function strs($filename, $fi, $name)
{
//$fi - Текущая строчка файла
$file = file($filename); //Файл который читаем
$fp = @fopen ($name, 'w');
if($fp)
{
for($i2=$fi,$i2<$fi+50;$i2++)
{
fwrite ($fp, $file[$i2]);
echo "$name - great!<br>";
}
}
fclose ($fp);
}
$p = 0;
for($i=0; $i<=10; $i++)
{
$name = $i.'.html';
strs($filename, $p, $name);
$p += 50;
}
?>
|
| |
|
|
|
|
|
|
|
для: DEM
(25.03.2008 в 19:56)
| | а здесь... ошибки... цыклично работает...(( где-то ошибки.. н опока еще не просек сам алгоритм... | |
|
|
|
|
|
|
|
для: restall
(25.03.2008 в 21:23)
| |
foreach ($arrW as $e)
{
$e="<a href=http://site.ru/>$e</a>";
$contents=$e;
}
|
делаю так, создает все правельно... но в файликах пишет по одной ссылке... хотя нужно ж 50... | |
|
|
|
|
|
|
|
для: restall
(25.03.2008 в 21:50)
| | Вот еще вариант:
<?php
$strnum = 50;
$strarr = file("text.txt");
$strcnt = count($strarr);
$str = "";
for($i=1; $i <= $strcnt; $i++)
{
$str .= trim($strarr[$i - 1])."\n";
if ($i % $strnum == 0 or $i == $strcnt)
{
$n = ceil($i / $strnum);
$fp = fopen("$n.txt", "w");
fwrite($fp, $str);
fclose($fp);
$str = "";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: Drago
(25.03.2008 в 22:37)
| | Спасибо, вы мне очень помогли! Последний пример, после пределки под свои нужны ооочень помог! Еще раз всем спасибо! | |
|
|
|