打开txt文件并相应地将其内容插入表中

时间:2015-01-26 09:01:09

标签: php file-get-contents

我想读取文本文件的内容并将内容插入表中 这是文本文件的内容

--------------------------------
Text file contents
--------------------------------
[playlist]
mode=play
Title1=Radio 1|United Kingdom                                                              
File1=http://www.test.com/0001                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
Title2=Radio 2 |United States                                                                        
File2=http://www.test.com/0002                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
Title3=Radio 3|United Kingdom                                                                          
File3=http://www.test.com/0003                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
NumberOfEntries=3
Version=2
-------------------------------

并存储在这样的表中

  id  |     item                |   url
----------------------------------------------------------
  1   | Radio 1|United Kingdom  | http://www.test.com/0001 
  2   | Radio 2 |United States  | http://www.test.com/0002 
  3   | Radio 3|United Kingdom  | http://www.test.com/0003 

如何抓取标题和文件,以便我可以将其插入到数据库表中。 我正在使用file_get_contents()来读取文本文件。

我目前的代码:

$content = file_get_contents("textfile.txt");

$lines = explode("\n", $content);

foreach ($lines as $line) {
    $row = explode("", $line);


    $stmt="INSERT INTO table_1 (item, url)
    VALUES
    (....)";

}

请帮帮我。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果文件的格式始终相同,则可以解析数据并构建数组

$content = file_get_contents('textfile.txt');
$lines = explode("\n", $content);
$data = array();
foreach ($lines as $line) {
    if (preg_match('/^(Title|File)([0-9]+)\=(.+)$/', $line, $match)) {
        $data[$match[2]][$match[1]] = $match[3];
    }
}

之后,您可以循环访问数据数组并插入数据库。

foreach($data as $id => $values) {
    $sql = 'INSERT INTO table_1 (item, url) VALUES ("' .    $values['Title'] . '", "'  . $values['File'] . '")';//The values need to be escaped!
}