2012-05-13 17 views
0

私は1GBまでのサイズのhtmlファイルを持っています。私はこのhtmlファイルの内容をデータベースにアップロードしたいと思います。ファイル(html)には<table><tr><td></td></tr></table>タグが含まれています。この作業は、ファイルサイズが約5MBまたは6MBの場合に行われますが、大きなファイルサイズは、メモリ不足(xxxxxバイト)のエラー(xxxxxxxバイト)を与えます。PHPとMySQLからhtmlファイルに何百万ものレコードをロードして挿入する方法

大きなファイルサイズデータベース内のデータ..私はのDOMDocumentを使用

- > LoadHTMLfile機能....とgetElementByTagName( "TR")

+1

1GBファイルを複数の小さなファイルに分割するだけでは問題ありませんか? – Lix

答えて

2

配列、変数に割り当てられたメモリしようとしながら、PHPがメモリを使い果たしたときに、このエラーがトリガされ、等のメモリの最大量を指令

memory_limit = 128M 

(または類似でphp.iniで指定されています)。値を大きくして、役立つかどうか確認してください。しかし、非常に大きなメモリ割り当て(たとえば256 MB以上)を超えている場合は、一度に多くのデータをメモリに保存すべきではないため、デザインには間違いがあります。

ファイルを処理している場合は、ファイルをチャンクで読み込み、データをデータベースに挿入し、さらにチャンクを読み取る必要があります。 HTML処理の場合、SAXパーサーは良い考えかもしれません、something like thisかもしれません。

+0

私はそれを解析しています....ありがとう –

関連する問題