Как получить конкретные строки в текстовом файле в PHP?

1

Вот моя проблема, я пытаюсь создать скрипт, который создает новую таблицу в базе данных для каждого нового txt файла, который я получаю. Эта часть одобрена, но затем я хочу получить некоторые конкретные строки или слова в txt файле для обновления таблицы.

Вот мой код:

<?php

    $servername = "localhost"; 
    $username = "root";        
    $password = "";            
    $dbname = "exctraction";         

    $conn = new mysqli($servername, $username, $password, $dbname); 

    if ($conn->connect_error)
    {
        die("Connection failed: " . $conn->connect_error);    
    } 



    foreach (glob("*.txt") as $filename) 
    { 

        $sql = "CREATE TABLE IF NOT EXISTS '$filename' (
               'id' int(100) unsigned NOT NULL AUTO_INCREMENT,         
               'device' varchar(30) NOT NULL,
               'label' varchar(30) NOT NULL,
                           'configured' varchar(3) NOT NULL,
               PRIMARY KEY ('id')
            )  ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;"; 


        if ($conn->query($sql) === TRUE) 
        {
            echo "<b>La table ".$filename."&nbsp;"." a &eacute;t&eacute; cr&eacute;&eacute;e avec succ&egrave;s.</b> </br>"; 
        } 
        else 
        {
            echo "<u>Erreur lors de la cr&eacute;ation de la table :</u> </br>" . $conn->error; 
        }

                $file  = fopen( $filename, "r" );
                $content = "";

                for( $i = 0 ; $i < 158 ; $i++)  
                {

                    $content .= fgets($file, 200);
                    if($i==65)
                    {
                        $content_array = file($filename);
                        print_r ($content."</br>");
                    }

                }
                fclose($file);
        }
        ?>

Я хочу показать строки, которые мне нужны, а затем сделать UPDATE TABLE с этими строками.

Строки, которые я хочу получить, от 57 до 65 в txt файле, но я не могу получить эти только строки.

  • 0
    Удалить "." из $content .= fgets($file, 200);
  • 0
    Я пытался, и ничего не отображается ..
Теги:
text

1 ответ

1
Лучший ответ
<?php
$File = "file.txt";   // I assume your file has 57th and 65th line
$fhandle = fopen($File, 'r'); 
while(!feof($fhandle)) // until end of file
{
    $data[] = fgets($fhandle);  // place each line to array
    //Do whatever you want with the data in here
    //This feeds the file into an array line by line
}
fclose($fhandle);
echo "<pre>"; // makes output easier to read
print_r($data[56].$data[64]); // outputs 57th and 65th line

?>
  • 0
    Для отображения строк с 58 по 65, что я пишу?
  • 0
    Мой плохой, торопился. Добавлено немного пояснений.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню