Вот моя проблема, я пытаюсь создать скрипт, который создает новую таблицу в базе данных для каждого нового 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." "." a été créée avec succès.</b> </br>";
}
else
{
echo "<u>Erreur lors de la cré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 файле, но я не могу получить эти только строки.
<?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
?>
$content .= fgets($file, 200);