大量のデータをループするとメモリが超過します。メモリを増やさずにこの問題を解決するにはどうすればよいですか?
HTML ファイルを生成するときに、データ量が多いため、fopen fwrite fclose を何度も繰り返しました。ファイルが生成されると、メモリを超過したというメッセージが表示されました。
私の HTML 生成方法は、キャッシュに読み込んでからファイルに書き込むことです。
<br />ob_start ();<br /> $temp = ob_get_contents ();<br /> ob_end_clean ();<br />
$total = 10;<br />$s = 0;<br />if (isset ( $_GET ['s'] )) {<br /> $s = &$_GET ['s'];<br />}<br />$per = $s + 5; // 每次循环5条<br />if ($per > $total) { // 如果下次循环会超过总数,就让他只能循环到总数<br /> $per = &$total;<br />}<br />while ( $s < $per ) {<br /> echo ++ $s;<br /> echo '<br>';<br />}<br />echo '<hr>';<br />echo $s;<br />if ($s < $total) {<br /> echo "<script>window.location.href='?s=$s'</script>";<br />}