PHP 제너레이터(Generator) - yield

운영자 | 기사입력 2023/10/12 [03:32]
PHP >
필자의 다른기사 보기 인쇄하기 메일로 보내기 글자 크게 글자 작게
PHP 제너레이터(Generator) - yield
 
운영자   기사입력  2023/10/12 [03:32]

php 큰 파일을 읽다 사면 메모리 제한에 걸러서 안되는 경우가 있는데   yield

을 사용하면 큰 파일등 처리할 수 있다. 


PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 65014928 bytes) in /root/yield.php on line 7



<?php

   function makeCSV($file) {
        $f=fopen($file,rb);

        while(feof($f) === false) {

         // $data .= fgets($f, 4096);
           yield fgets($f, 4096);
         }
        flocse($f);
       // return $data;
   }

  foreach(makeCSV("/home/iwav/aaa.2023.10.11.csv") as $i) {
       print_r($i);

  }

트위터 트위터 페이스북 페이스북 카카오톡 카카오톡
기사입력: 2023/10/12 [03:32]  최종편집: ⓒ iwav
 
 
PHP 많이 본 기사