phpについて

CSVファイルを読み込んで、DBに追加したいのですが、
ファイルサイズが大きくなると、画面が真っ白になってしまいます。
何か制限のようなものがあるのでしょうか?
ファイルサイズが小さい場合はうまく行きます。

PHP4.3.9
MYSQL 4.1.20
ファイルサイズは、約20M弱

php.ini の
memory_limit
post_max_size
upload_max_filesize は64Mにしています。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/07/03 22:46:10
  • 終了:2007/07/10 22:50:04

回答(2件)

id:F-15X No.1

F-15X回答回数111ベストアンサー獲得回数132007/07/03 23:31:34

ポイント35pt

時間のかかる処理には、出力バッファを制御しましょう。

以下が参考になるかと思います。

PHPで読み込み中のページにデータを逐次出力する方法

http://blog.tofu-kun.org/070418095602.php

出力バッファ制御:日曜プログラミング講座/PHP言語

http://www.y2sunlight.com/water/webman/php1/1X.4.html

id:kn1967 No.2

kn1967回答回数2915ベストアンサー獲得回数3012007/07/04 00:44:56

ポイント35pt

画面が真っ白になるのは通信のタイムオーバーが原因だと思われます。


(1)ブラウザとの通信においてのタイムオーバー

既に回答ありますように適宜flushする事で対応


(2)phpのタイムオーバー

php.iniのmax_execution_timeの数値を変更するか、もしくは

スクリプト中にてset_time_limitを用いて随時引き伸ばす事で対応

http://jp.php.net/manual/ja/function.set-time-limit.php


タイムオーバーに対処するのはある種の必然ではありますが

それに頼るというのは逃げの手法(非常手段)だと考えておくほうがよろしいでしょう。

どういった目的のデータベースなのかにもよりますが

デフォルトの設定で対処できないということはWebシステムとしてどこかに無理や無駄があるということですから

MySQLデータベースの最適化や、登録スクリプトの最適化についても再考なさることをお勧めします。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません