Вывод определенной строки

Статус
В этой теме нельзя размещать новые ответы.

ArS-design

Писатель
Регистрация
8 Июл 2008
Сообщения
5
Реакции
5
Есть база в txt-файле со строками:
Код:
link|name|width|height
link|name1|width|height
link|name2|width|height
Передаю ссылку с параметром, например:
../game.php?name=name1
А на самой странице строку раскладываю на массив, как-то так:
PHP:
$base=file('base.txt');
$file = $_GET['name'];
$arr=explode('|',$base[$file]);
$link=$arr[0];
$name=$arr[1];
$width=$arr[2];
$height=$arr[3];
Подскажите, плиз, как вывести именно ту строку, в которой есть name1, т.е. тот переданный параметр?

Надеюсь, понятно объяснил. :ah:
 
  • Заблокирован
  • #2
Сделай так:
PHP:
$file = 'base.txt';
$search = $_GET['name'];
$result_string = '';

$f = fopen($file,'r');

while (!feof($f)) {
	$s = fgets($f);
	$ex = explode('|',$s);
	if ($ex[1]==$search) {
		$result_string = $s;
		break;
	}
}

echo $result_string;

Так будет меньше операций и меньше памяти жрякать
 
PHP:
<?
$name = $_GET["name"];
$content = join(file("base.txt"));
preg_match("/(.*)\|$name\|(.*)/",$content,$res);
if ($res) {
   print $res[0]."\n";
} else {
   print "not found\n";
}
?>
Ну вот так вот типа будет работать но насколько это всё паравильно, я даже не знаю :)
Если бы у тебя первым параметром шло "name", то тогда бы можно было просто к массиву по ключу обратиться.

---up---
Код предыдущего оратора будет работать быстрей.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху