Maison  >  Article  >  développement back-end  >  PHP exporte des dizaines de milliers de données

PHP exporte des dizaines de milliers de données

不言
不言original
2018-04-13 09:27:442447parcourir

Le contenu de cet article concerne l'exportation par PHP de dizaines de milliers de données. Les amis dans le besoin peuvent s'y référer

php utilise la mise en mémoire tampon pour obtenir une sortie dynamique (ob_flush)

Ce qui suit est un exemple d'exportation de dizaines de milliers de données depuis PHP. Le code ci-dessus est :

// 导出测试
    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);
		}
	}

Recommandations associées :

php exporte les fichiers de contenu HTML dans la méthode de classe Excel

PHP exporte le partage d'instance CSV avec le premier 0

Méthode d'implémentation native de l'exportation et du téléchargement PHP d'Excel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn