Как записать большую строку в файл?

Есть очень длинная строка несколько миллионов символов file_put_contents("str.txt", $str) выдает FALSE как быть?
  • Вопрос задан
  • 254 просмотра
Пригласить эксперта
Ответы на вопрос 2
Rou1997
@Rou1997
fwrite.
Ответ написан
Комментировать
AnnTHony
@AnnTHony
Интроверт
Пишите кусками, например:

$s = 'HelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorld';

$l = strlen($s);

$file = 'test.txt';

$x = 0;

while ($x < $l)
{
    if (($l - $x) > 100)
    {
        file_put_contents($file, substr($s, $x, 100), FILE_APPEND | LOCK_EX);
        $x += 100;
    }
    else
    {
        file_put_contents($file, substr($s, $x, $l - $x), FILE_APPEND | LOCK_EX);
        $x = $l;
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы