Большой Воронежский Форум
» Программирование>как на php отредактировать большой текст
grifon 13:31 12.02.2009
Если он в fopen не открывается по причине нехватки памяти.

Надо построчно открыть, заменить несколько раз str_replace и записать либо в этот же, либо в другой файл. [Ответ]
steklo22 10:13 13.02.2009
разбей по частям
строковыми функциями
открывать с таково то символа, по такой [Ответ]
grifon 12:47 13.02.2009
кусок кода в пример показать могешь? [Ответ]
Dao 20:31 13.02.2009
если не ошибаюсь (php давно в руках не держал, в основном perl), читать можно так:

$FILE = file($FILE_NAME);
foreach($FILE as $LINE)
{
// $LINE <- тут строка файла;
} [Ответ]
estin 18:20 14.02.2009

Сообщение от grifon:
Если он в fopen не открывается по причине нехватки памяти.
Надо построчно открыть, заменить несколько раз str_replace и записать либо в этот же, либо в другой файл.

Вы хотите сказать что fopеn сразу же считывает ВЕСЬ файл?
Пробуйте этим
http://ru.php.net/manual/en/function...t-contents.php
Вы под Apache`ем (mod_php) это делаете? [Ответ]
A-Maverick 20:08 14.02.2009
Не очень понял, как это фопен может отказаться из-за нехватки памяти. Фопен не читает в память содержимое файла, он лишь открывает поток для чтения с диска. [Ответ]
steklo22 18:15 20.02.2009

Сообщение от grifon:
кусок кода в пример показать могешь?

[PHP]
$content = file_get_contents("тут урл страницы");
// матрицу урола заносиш в переменную $content
$pos = strpos($content, " сюда пишем кусочек html кода или там слово из страницы с которого начинается вывод контента из матрицы");
/*Отрезаем все, что идет до нужной нам позиции (функция substr в данном случае принимает два параметра: строка для обработки и //номер позиции. Функция вернет строку, НАЧИНАЯ с указанной позиции) */
$content = substr($content, $pos);
// Точно таким же образом находим позицию второй строки
$pos = strpos($content, "здесь пишем кусочек html кода или слово на котором заканчивается вывод");
// Можно исчё отрезать нужное количество символов от нулевого
$content = substr($content, 0, $pos);
$content; // эту переменную загоняй в str_replace меняй на что угодно
// и далее хз, хочешь сохраняй в базу или выводи смотри сам
// выводим
echo $content;
// получаем грабер инфы
[/PHP]

Покупайте кондиционеры

http://www.vholodok.ru/ [Ответ]
grifon 19:49 20.02.2009

Сообщение от steklo22:
[PHP]
$content = file_get_contents("тут урл страницы");
// матрицу урола заносиш в переменную $content
[/PHP]

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 57261256 bytes) на $content = file_get_contents("$filexml");

Вот, собственно, о чем я и писал вначале. [Ответ]
X0R 21:10 20.02.2009
дык php пытается выделить не особо много памяти, разреши в php.ini для использования больше памяти, насколько я помню такой параметр там есть. [Ответ]
Andrei_K 00:12 21.02.2009
вот такой код без проблем обработает файл любого размера
Код:
<?php
$handle  = fopen("./inputfile.txt", "r");
$handle2 = fopen("./output.txt", "w");
while (!feof($handle)) {
	$line = fgets($handle, 4096);
	$out = str_replace('а', '@', $line);
	fwrite($handle2, $out);
}
fclose($handle);
fclose($handle2);
?>
[Ответ]
Вверх