テキスト ファイル (実際には imdb の「リスト」ファイル) を実行し、それをローカルの MySQL データベースに保存する PHP スクリプトを作成しました。
public static function updateMovies( $list ) {
$offset = 15; // movies.list start with movie names at line 16
$handle = fopen($list, "r") or die("Couldn't get handle");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle);
if($offset!=0)
$offset--;
else
if($buffer[0] != '"'){
$title = trim( substr( $buffer, 0, strpos( $buffer, '(' ) ) );
$year = intval(trim( substr( $buffer, strpos( $buffer,'(' )+1, 4 ) ));
Movie::create( $title, $year );
}
}
fclose($handle);
}
}
これらのリスト ファイルは最大 200 MB になるため、かなりの時間がかかります。デフォルトでは、PHPMAX_EXECUTION_TIME
は 30 秒に設定されています。
この値を 300 に設定して、機能するかどうかを試してみました。たとえば、私の「movies.list」ファイルは約 80MB で、このスクリプトを 300 秒間使用すると、データベースに約 25000 行が作成されます。「B」で始まる映画にさえ到達していないため、これは機能しません。
を 0 (無制限) に設定できることはわかっていますMAX_EXECUTION_TIME
が、将来、このデータベースを自分のローカルホストに配置したくありません。MAX_EXECUTION_TIME
私は自分のウェブサーバーにそれを置きたいのですが、私の知る限り、私のウェブサーバーのホストは 90 に設定されています。
これをどのように処理するかについてのアイデアはありますか?