0

データベースに挿入する必要がある情報を含む巨大なテキスト ファイルがあります。

テキスト ファイルの行の 1 つを次に示します。

 77.242.22.86 - - [10/Jul/2013:14:07:26 +0200] "GET /web/img/theimage.jpg HTTP/1.1" 304 - "http://www.mywebiste.com/web/"
 "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like
 Gecko) Chrome/27.0.1453.116 Safari/537.36 AlexaToolbar/alxg-3.1"

次のようないくつかのphp関数を使用しています:

$myFile = "testFile.txt";
$fh = fopen($myFile, 'r');

先ほど言ったように、これはテキスト ファイルのみを読み取ります。データを取得してデータベースに挿入する必要があります。行を spli にする必要がある例を次に示します。

 77.242.22.86
 [10/Jul/2013:14:07:26 +0200] 
 GET 
 /web/img/theimage.jpg 
 HTTP/1.1
 304
 http://www.mywebiste.com/web/ 
 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like
 Gecko) Chrome/27.0.1453.116 Safari/537.36 AlexaToolbar/alxg-3.1

この問題を解決するのを手伝ってください。ありがとうございました。

4

1 に答える 1

1
 $test ='77.242.22.86 - - [10/Jul/2013:14:07:26 +0200]
 "GET /web/img/theimage.jpg HTTP/1.1" 304 - "http://www.mywebiste.com/web/"
 "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like
 Gecko) Chrome/27.0.1453.116 Safari/537.36 AlexaToolbar/alxg-3.1"';    
 function tokenizer($test) {
 $test = trim(strtolower($test));
 $res=  str_replace(",","",$test);
 $res=  str_replace("-","",$res);
 $res=  str_replace(' "',"",$res);
 $result=  explode(" ", $res);
 for ($i = 0; $i < count($result); $i++) {
 $result[$i] = trim($result[$i]);
 echo $result[$i]; ?>

 <hr/> <?php

 }
 return $result; // contains the single words
 }
于 2013-07-11T10:29:13.947 に答える