2015-01-26 2 views
0

Я хочу прочитать содержимое текстового файла и вставить содержимое в таблицу Это содержимое текстового файлаОткрыть текстовый файл и вставить его содержимое в таблицу соответственно

-------------------------------- 
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 
    (....)"; 

} 

Пожалуйста, помогите мне. Спасибо заранее.

+0

вам нужно будет извлечь заголовок и файл, используя preg_match_all вместо взрыва. – hofan41

+0

вы должны прочитать о регулярных выражениях, и сделать это таким образом, как – szapio

+0

как я могу это сделать, пожалуйста, помогите – srsk

ответ

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! 
} 
+0

Большое спасибо, я буду идти, используя свой метод – srsk

+0

он дал мне тарабарщина Data :(OUTPUT => mRhUhUhUhUhUhUhUhPhPhPhRhWhMhShWhChShIhLhBhRhChFh2hThRhNhShRhShRhShShRhWhGhThWhAhRhPhFhRhGhNhPhihLhIh52 – srsk

+0

Это не имеет никакого смысла, вы можете отредактировать сообщение и добавить вывод 'var_dump ($ lines);' after '$ content = file_get_contents (" textfile.txt "); $ lines = explode (" \ n "," $ content); ' –