@prophp7

Страница 1285 из 1387
Александр
06.09.2018
15:00:19
не хочу всё читать в память
написали выше, генератор используй, там не будет всё в памяти

Shmaltorhbooks
06.09.2018
15:00:33
git commit)

а гит сам предложит исправить))

Maksim
06.09.2018
15:00:51
Google
Ivan
06.09.2018
15:01:02
посмотрите на скрин, представьте, что строка N3 очень длинная из-за того что file() не воспринял \n как line ending

Maksim
06.09.2018
15:01:41
бля, как бот...

Александр
06.09.2018
15:01:50
тебе уже столько вариантов накидали)

Ivan
06.09.2018
15:03:07
спасибо

Maksim
06.09.2018
15:04:07
привёл всё к одному варианту переноса, а если нужно построчно чёт делать, то как писал выше: $lines = yield from \file('file.csv') задача на 20 секунд

Maksim
06.09.2018
15:10:45
бля, точно бот

Ivan
06.09.2018
15:11:05
)

Maksim
06.09.2018
15:11:34
file(..) загрузит все данные в память
нет, твою мать, не загрузит

Ivan
06.09.2018
15:11:56
В доке написано возвращает array

Google
Maksim
06.09.2018
15:12:14
круто

Ivan
06.09.2018
15:12:32
А array лежит в памяти

Maksim
06.09.2018
15:12:38
гениально :)

Ivan
06.09.2018
15:13:10
нет, твою мать, не загрузит
Поему тогда не загрузит?

Maksim
06.09.2018
15:17:59
https://paste.ofcode.org/32UdKVbevaDMSVijMUDhZ43 попробуй перестать задавать тупые вопросы и подумай.

Vitaly
06.09.2018
15:19:36
Может быть он имеет ввиду то, что в памяти всё равно окажется слишком длинная строка?

Ivan
06.09.2018
15:19:38
Надо вызвать next

Maksim
06.09.2018
15:19:41
серьёзно?)

Ivan
06.09.2018
15:19:49
Maksim
06.09.2018
15:19:54
бот всё же..

Ivan
06.09.2018
15:20:51
Из-за неправильной интерпретацией конца строки функцией file

Maksim
06.09.2018
15:21:07
sed, tr - > google

ты проблему решить хочешь, или мозг людям поебать?)

Ivan
06.09.2018
15:22:27
ты проблему решить хочешь, или мозг людям поебать?)
Ты предлагаешь решение, я говорю, почему оно мне не подходит

И объясняю почему

Буду использовать sed

Maksim
06.09.2018
15:22:53
да, я очень ахудивился высеру про генераторы

Google
Maksim
06.09.2018
15:23:29
что т.е.?

Ivan
06.09.2018
15:23:46
Что за высер про генераторы?

Maksim
06.09.2018
15:23:57
тебе из функции возвращается генератор. Бери и используй. в чём проблема?

какой next к хренам?

Anton
06.09.2018
15:24:17
у Макса агр когда кто-то не понимает генераторы :)

Ivan
06.09.2018
15:24:19
В том, что file() загрузит все строки в память

Maksim
06.09.2018
15:24:39
Ivan
06.09.2018
15:24:40
какой next к хренам?
Ну не next, а foreach

Maksim
06.09.2018
15:25:13
Ivan
06.09.2018
15:25:30
Я серьезно

Maksim
06.09.2018
15:25:39
я те код даже привёл... ай, ну в задницу этих ларавель девелоперов

Maksim
06.09.2018
15:26:34
А вот сейчас обидно было!
ну вот к НГ приедешь и выскажешь мне своё недовольство)

Ivan
06.09.2018
15:26:37
Maksim
06.09.2018
15:27:39
Anton
06.09.2018
15:27:51
Погрешность на скрипт + память на самую длинную строку в файле

Ivan
06.09.2018
15:27:53
какой next к хренам?
Вызов функции возвращающей генератор не приводит к «запуску генератора»

Maksim
06.09.2018
15:28:39
ты имеешь хоть какое-то представление о том, как работают генераторы?

Ivan
06.09.2018
15:28:45
Да

Google
Maksim
06.09.2018
15:28:49
окей

Vitaly
06.09.2018
15:29:12
Погрешность на скрипт + память на самую длинную строку в файле
Походу в этом и суть, у него весь файл - одна строка.

Maksim
06.09.2018
15:29:28
Походу в этом и суть, у него весь файл - одна строка.
это первая часть проблемы и как решить сказали 100500 раз

Herman
06.09.2018
15:29:31
Ivan
06.09.2018
15:29:51
Ладно, чуть позже проверю что да как, может, я и не прав

Спасибо всем

Maksim
06.09.2018
15:31:32
в любом случае, тебе не надо ничего открывать, если выполнить замену не средствами пхп

и всё, что мы тут придумываем - херь собачья. Вопрос разных переводов решается быстро и просто, минуя супер быстрый и оптимальный пхп

тот же tr, тот же sed (парадоксально, но сам про него упомянул). Нахер вся эта возня с циклами - ниясна.

Admin
ERROR: S client not available

Maksim
06.09.2018
15:37:29
Нужно наличие sed
sudo apt-get install sed это проще, чем придумывать херню средствами, которые для этого не предназначены

Maksim
06.09.2018
15:38:45
любой вариант, при чём.

медленно, неоптимально, дорого и глупо.

Dmitry
06.09.2018
17:21:11
@desper1989 а с каких времен file стал генератором?

Dmitry
06.09.2018
17:28:21
А теперь давай своими словами и по полочкам, как твой потрясающий скриншот отвечает на вопрос “с каких времен file стал генератором”

Александр
06.09.2018
17:29:45
Получает значения из другого генератора, объекта Traversable, или массива используя yield from

Google
Evgenii
06.09.2018
17:30:02
?

Александр
06.09.2018
17:30:06
Что тут своими словами нужно?)

Shmaltorhbooks
06.09.2018
17:30:22
Но чтоб получить из другого массива - надо чтоб этот массив существовал, как я понял

Если из генератора - он будет дёргаться пока отдаёт

А если file отдаёт массив, то он сначала его сформируеьт, а потом отдаст

Shmaltorhbooks
06.09.2018
17:31:16
Если, конечно, file не генератор

Александр
06.09.2018
17:31:21
Shmaltorhbooks
06.09.2018
17:31:44
Нет
То есть file сначала прочитает весь файл, а потом отдаст массив?

Александр
06.09.2018
17:32:30
То есть file сначала прочитает весь файл, а потом отдаст массив?
Не тестил, но я тут скорее ориентируюсь на Максима, он вроде как больше всех за генераторы топит, раз так написал, значит толк от этого есть, но потестить ещё не успел

Dmitry
06.09.2018
17:33:37
file не генератор, а значит он загрузит массив весь в память

а память нужно мерять memory_get_peak_usage, и не будет удивлений тогда

Александр
06.09.2018
17:37:02
file не генератор, а значит он загрузит массив весь в память
Звучит логично, нужно попробовать будет

Shmaltorhbooks
06.09.2018
17:38:04
Максим тоже звучит логично, но топит в другую степь) пробовать надо всегда))

Dmitry
06.09.2018
17:39:57
http://php.net/manual/ru/language.generators.overview.php - тут вот первый коммент как читать файл, что бы он не жрал память

Ivan
06.09.2018
17:41:35
ну хоть кто-то понял, что я имею ввиду

Александр
06.09.2018
17:41:52
А кто-то затестил?)

Ivan
06.09.2018
17:42:40
https://3v4l.org/magEE

Shmaltorhbooks
06.09.2018
17:44:19
Так то fopen

Он и без генераторов не читает весь файл

Dmitry
06.09.2018
17:45:08
я затестил, память жрет, чудес не случается

Александр
06.09.2018
17:52:53
function loadLines(): \Generator { $fp = fopen('./large_file.txt', 'rb'); while(($line = fgets($fp)) !== false) yield $line; fclose($fp); }

вотт так вот загрузит в память или нет?

Страница 1285 из 1387