EPF リレーショナル データベースをインポートしようとしています。Itunes epf リレーショナル データベースは、すべてのデータベース (アプリケーション、音楽、テレビ番組、ゲームなど) の詳細で構成されています。詳細については、こちらを参照してください。Itunes EPF Relation Database処理されていない 1 つのデータベースを除くすべてのデータベースをインポートできます。このファイルは約 6 GB です。
$field_separator = chr(1);
$record_separator = chr(2)."\n";
$data_appdt=explode($record_separator,file_get_contents('file_path',true));
foreach ($data_appdt as $key => $value)
{
if (substr($value, 0, 1) != '#')
{
if (!empty($value))
{
{
$data_itu_app_dt=explode($field_separator, $value);
$result=$this->admin_model->itunes_app_dt($data_itu_app_dt);
}
}
}
}
上記のコードは、インポート プロセスのコントローラーである codeigniter で実行されます。このコードは、最大 2 GB のファイルに対して機能します。しかし、それ以上のサイズでは機能しません。おそらく、ファイルとメモリ全体を読み取ると、そうすることができなくなります。だから私はより高いファイルを処理するために以下のコードを使用しました。
$handle = fopen('file_path', "r") or die("Couldn't get handle");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
$data_appp=explode($record_separator,$buffer);
foreach ($data_appp as $key => $value)
{
if (substr($value, 0, 1) != '#')
{
if (!empty($value))
{
$data_itu_appp=explode($field_separator, $value);
//print_r($data_itu_appp);
$result=$this->admin_model->itunes_appp($data_itu_appp);
}
}
}
}
fclose($handle);
}
8 GB のファイルでも機能し、インポートが完了して正常に完了します。しかし、6 GB のファイルの場合、インポートは行われません。これは、テーブルのサンプル データです。
1426669253786|329704232|EN|iParrot Phrase ベトナム語-イタリア語|ベトナム語のフレーズをイタリア語に翻訳する-iPad/iPhone/iPod Touch用翻訳機で|
iParrot Phrase は、インスタント多言語翻訳ソフトウェアの新しい標準を設定します。iPad/iPhone/iPod Touch 専用に設計されており、20 種類以上の完璧な発音の口頭言語をすぐに使用できます。iParrot フレーズは、挨拶、交通機関、ショッピング、助けを求めるなどのカテゴリに分類されているため、必要な文章をすぐに見つけることができます。すぐにアクセスできるように整理されており、海外旅行中に特に便利です。中国語、英語、日本語、ロシア語、フランス語、ドイツ語、スペイン語、イタリア語、韓国語、ポルトガル語、アラビア語、タイ語、ベトナム語で仮想流暢に話せます。
- インターネットアクセスは必要ありません!
- iPad/iPhone/iPod Touch 用のユニバーサル アプリ。
- どこに行っても外国語を学べます。
- 画面上のフレーズを聞いて発音を練習します。
- アラビア語、中国語、日本語、韓国語、ロシア語、タイ語のローマ字発音ガイド (ローマ字/ピンイン)。
- あなたの指先で400の実用的な旅行フレーズ。
- 学生や出張者に最適です。|iOS 5 をサポート。UI の改善; 内容訂正; バグ修正。| http://www.iparrot.info|http://www.iparrot.info|http://a3.mzstatic.com/us/r30/Purple/v4/59/4c/3c/594c3c1d-8081-583a- 0a02-3d07edb41f85/screen320x480.jpeg|http://a5.mzstatic.com/us/r30/Purple/v4/ba/36/43/ba3643ff-1316-a689-a422-c67eff2e1639/screen320x480.jpeg|http:// a2.mzstatic.com/us/r30/Purple/v4/5a/17/43/5a174333-d3c7-6ae5-5e25-6539e3d9e62c/screen320x480.jpeg|320x480|320x480|320x480|http://a2.mzstatic.com/ us/r30/パープル/v4/2e/87/2d/2e872d35-d55b-8910-0f2b-bb9042f57537/screen480x480.jpeg|360x480|
これは、アプリケーションの詳細であるそのデータベースのサンプル データです (上記のサンプル データでは、新しいフィールドの ASCII 文字 (SOH) を | に置き換えました)。実際には、2 番目のコードを使用してインポートが進行中のときに、新しい行が /n として取得され、インポートが壊れます。データベースのインポートのためにこのような大きなファイル (6 GB) を処理するために、これまたは他の方法を回避する方法はありますか? たぶん、上記のことは少し混乱しています。明確化が必要ですか?それから私は物事をより明確にします。良い解決策を探しています..ありがとうございます。