>  기사  >  백엔드 개발  >  PHP는 수만 개의 데이터를 내보냅니다.

PHP는 수만 개의 데이터를 내보냅니다.

不言
不言원래의
2018-04-13 09:27:442490검색

이 글의 내용은 PHP가 수만 개의 데이터를 내보내는 내용입니다. 필요한 친구들이 참고하면 됩니다.

php는 버퍼링을 사용하여 동적 출력(ob_flush)을 달성합니다.

다음은 수십 개의 데이터를 내보내는 예입니다. 수천 개의 PHP 데이터, 위 코드:

// 导出测试
    function explode() {
    	ob_end_clean();
    	header("Content-type:text/csv");
		header('Content-Disposition: attachment;filename=test_' . time() . '.csv');


		$fp = fopen('php://output', 'a');
		// 输出Excel列头信息
		$head = array('平台', '名称', '本金','时间');
		// foreach($head as $i => $v) {
		//     // CSV的Excel支持GBK编码,一定要转换,否则乱码
		//     $head[$i] = iconv('utf-8', 'GB2312//IGNORE', $v);
		// }
		fputcsv($fp, $head);

		$limit = 1000;
		$count = 1;
		$sql = 'select * from assets limit 0,1000';
		$rows = Db::table('表名')->query($sql);
		while(count($rows)>0 && $count<21) {
			$offset = $count*$limit;
		    $count++;

		    foreach ($rows as $key => $row) {
		    	if($key%2000 == 0) {
		    		if(ob_get_level()>0){
    					ob_flush() ;
		    		}
		    	}

		    	$val = array($row[&#39;platform&#39;],$row[&#39;name&#39;],$row[&#39;principal&#39;],$row[&#39;create_time&#39;]);

		    	// foreach($val as $k => $v) {
		     //        $val[$k] = iconv(&#39;utf-8&#39;, &#39;GB2312//IGNORE&#39;, $v);
		     //    }

		        fputcsv($fp, $val);
		    }

		    $sql = "select * from assets limit {$offset},{$limit}";
			$rows = Db::table(&#39;表名&#39;)->query($sql);
		}
	}

관련 권장 사항:

php Excel의 HTML 콘텐츠 파일 클래스 메서드 내보내기

php 내보내기 csv 예제(앞에 0 공유 포함)

PHP 기본 내보내기 구현 방법 그리고 엑셀다운

위 내용은 PHP는 수만 개의 데이터를 내보냅니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP 요청 요청 작업다음 기사:PHP 요청 요청 작업