Каждой строке файла txt присвоить переменную php
Хочу сгенерировать вывод строки php в которых будут записаны переменные. Имеется файл txt со следующим текстом:
[10.8.1.42] comp-vm3
[10.8.1.49] comp-vm2
[10.8.1.62] ksc
В php считываю файл txt и разделяю на строки через explode:
<?php
$fd = fopen("1111.txt", 'r') or die("не удалось открыть файл");
while(!feof($fd))
{
$str = htmlentities(fgets($fd));
$arr_ph = explode(" ",$str);
foreach($arr_ph as $i){
echo $i . "<br />";
}
}
fclose($fd);
?>
Получаю следующий вид:
[10.8.1.42]
comp-vm3
[10.8.1.49]
comp-vm2
[10.8.1.62]
ksc
Хочу теперь каждой строке присвоить переменную $a и $b и записать в строку:
<p>бла бла бла <?php $a ?> бла бла бла <?php $b ?></p>
Чтобы потом выводилось по типу:
<p>бла бла бла <?php $a ?> бла бла бла <?php $b ?></p>
<p>бла бла бла <?php $a ?> бла бла бла <?php $b ?></p>
<p>бла бла бла <?php $a ?> бла бла бла <?php $b ?></p>
Ответы (2 шт):
Автор решения: teran
→ Ссылка
сложите все добро это в массив
$content = file_get_contents("1111.txt");
$data = array_map(function($line){
[$ip, $name] = explode(' ', $line);
return ['ip' => $ip, 'name' => $name];
});
далее выводите как вам надо
foreach($data as $d){
echo "bla bla {$d['ip']} bla bla {$d['name']} bla bla"
// ?>
// bla bla <?= $d['ip']?> ....
// <?
}
Автор решения: weyners
→ Ссылка
Спасибо за ответы, но решил самостоятельно таким образом:
$tmp = explode("\r\n", file_get_contents('1111.txt'));
foreach($tmp as $tmp_str)
{
if(!empty($tmp_str))
{
$arr = explode(' ',$tmp_str);
echo 'бла бла бла='.$arr[0].' бла бла бла='.$arr[1].' бла бла бла <br/>';
}
}