Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/27: Рейтинг темы: голосов - 27, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 9
1

вывод строк из файла php

09.04.2012, 11:49. Показов 5657. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Помоги те пожалуйста на строить вывод строк из файла на php.

Кратко о задаче:
есть ИМ шин и дисков, есть место для топа продаж но это место пустует...
Как организовать вывод из строки файла шин определенных размеров?!

К примеру имеем файл tyres.txt в нем такие строки

Amtel Planet 2P K-248 H 205/65R15 H 2600
Amtel Planet 2P K-234 H 195/65R15 H 2200
Amtel Planet 2P K-249 H 185/65R14 H 2000
Amtel Planet 2P K-251 H 185/60R14 H 1850
Amtel Planet 2P K-235 H 175/65R14 H 1650
имеем три переменные: ширину высоту и радиус

Если человек выбирает размер (к примеру) 195/65R15 то в том топе продаж выводиться строка в которой присутствует этот размер, если их две то выводятся все.
Соответственно при выборе этого размера мы увидим строку №2


Ни как не могу сообразить как это сделать, помоги те пожалуйста!

Заранее благодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2012, 11:49
Ответы с готовыми решениями:

Подсчёт определённых строк в базе и вывод их через php
Есть таблица "tblTalon", нужно сделать так чтобы php подсчитывал сколько всего сделано записей за...

Вывод строк из файла
Доброго времени суток. помогите решить задачку: "выводите содержимое файла по строкам. После...

Вывод строк из файла
Подскажите плз.. Не вкумекаю.. Редко на php что то пишу.. Спарсил $text, задача вывести строки с...

Вывод строк из файла
Помогите написать программу, которая считывает текст из файла и выводит на экран только строки,...

16
258 / 147 / 37
Регистрация: 24.01.2011
Сообщений: 427
09.04.2012, 12:48 2
PHP
1
2
3
4
5
6
7
$subStr = '195/65R15';
$arr = file('file.txt');
foreach($arr as $str)
    {
    if(strstr($str,$subStr))
        echo $str;
    }
1
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 9
09.04.2012, 14:37  [ТС] 3
Выводит все строки из файла!

Может вид у file.txt должен быть особенный?
0
258 / 147 / 37
Регистрация: 24.01.2011
Сообщений: 427
09.04.2012, 14:57 4
в file.txt
Amtel Planet 2P K-248 H 205/65R15 H 2600
Amtel Planet 2P K-234 H 195/65R15 H 2200
Amtel Planet 2P K-249 H 185/65R14 H 2000
Amtel Planet 2P K-251 H 185/60R14 H 1850
Amtel Planet 2P K-235 H 175/65R14 H 1650
0
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 9
09.04.2012, 16:47  [ТС] 5
именно так и написано но все равно выводит все строки разом

Добавлено через 56 минут
PHP
1
2
3
4
5
6
7
8
$razmer = '195/65R15';
$arr = parse_ini_file( "file.ini" , TRUE );
 
foreach($arr as $str)
    {
    if(strstr($str,$razmer))
        echo "$str<br>";
    }
Вот так работает!

Добавлено через 46 минут
Только выводит одно вхождение!

Как сделать чтобы выводил несколько?!
0
258 / 147 / 37
Регистрация: 24.01.2011
Сообщений: 427
09.04.2012, 19:26 6
содержимое вашего ini файла приведите пожалуйста.
0
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 9
09.04.2012, 20:39  [ТС] 7
195/65R15 = Amtel Planet 2P K-234 H 195/65R15 H 2200
0
258 / 147 / 37
Регистрация: 24.01.2011
Сообщений: 427
10.04.2012, 07:06 8
дело в том что parse_ini_file(); возвращает ассоциативный массив, где имя настройки (195/65R15) - это ключ, а значение настройки (Amtel Planet 2P K-234 H 195/65R15 H 2200) - значение переменной. соответственно только последняя по порядку запись с одинаковым именем настройки будет присутствовать в возвращаемом массиве. пользуйтесь file();
0
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 9
10.04.2012, 07:46  [ТС] 9
Дело в том что используя file(); выводится весь текст из файла, а не определенная строка
0
258 / 147 / 37
Регистрация: 24.01.2011
Сообщений: 427
10.04.2012, 08:49 10
вот этот код:
PHP
1
2
3
4
5
6
7
$subStr = '195/65R15';
$arr = file('file.ini');
foreach($arr as $str)
    {
    if(strstr($str,$subStr))
        echo $str;
    }
выводит все строки?
а что выводит:
PHP
1
print_r($arr = file('file.ini'));
1
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 9
10.04.2012, 09:06  [ТС] 11
Если файл file.ini с текстом

205/65R15 = 'Amtel Planet 2P K-248 H 205/65R15 <div class="topprise">2600 руб.</div>';
195/65R15 = 'Amtel Planet 2P K-234 H 195/65R15 <div class="topprise">2200 руб.</div>';
185/65R14 = 'Amtel Planet 2P K-249 H 185/65R14 <div class="topprise">2000 руб.</div>';
185/60R14 = 'Amtel Planet 2P K-251 H 185/60R14 <div class="topprise">1850 руб.</div>';
175/65R14 = 'Amtel Planet 2P K-235 H 175/65R14 <div class="topprise">1650 руб.</div>';
то видим

195/65R15 = 'Amtel Planet 2P K-234 H 195/65R15
2200 руб.
';
PHP
1
print_r($arr = file('file.ini'));
выводит

Array ( [0] => 205/65R15 = 'Amtel Planet 2P K-248 H 205/65R15
2600 руб.
'; [1] => 195/65R15 = 'Amtel Planet 2P K-234 H 195/65R15
2200 руб.
'; [2] => 185/65R14 = 'Amtel Planet 2P K-249 H 185/65R14
2000 руб.
'; [3] => 185/60R14 = 'Amtel Planet 2P K-251 H 185/60R14
1850 руб.
'; [4] => 175/65R14 = 'Amtel Planet 2P K-235 H 175/65R14
1650 руб.
'; [5] => )
но если поменять на file.txt с текстом

Amtel Planet 2P K-248 H 205/65R15 2600
Amtel Planet 2P K-234 H 195/65R15 2200
Amtel Planet 2P K-249 H 185/65R14 2000
Amtel Planet 2P K-251 H 185/60R14 1850
Amtel Planet 2P K-235 H 175/65R14 1650
то видим

Amtel Planet 2P K-248 H 205/65R15 2600 Amtel Planet 2P K-234 H 195/65R15 2200 Amtel Planet 2P K-249 H 185/65R14 2000 Amtel Planet 2P K-251 H 185/60R14 1850 Amtel Planet 2P K-235 H 175/65R14 1650
PHP
1
print_r($arr = file('file.ini'));
выводит

Array ( [0] => Amtel Planet 2P K-248 H 205/65R15 2600 Amtel Planet 2P K-234 H 195/65R15 2200 Amtel Planet 2P K-249 H 185/65R14 2000 Amtel Planet 2P K-251 H 185/60R14 1850 Amtel Planet 2P K-235 H 175/65R14 1650 )
0
238 / 235 / 43
Регистрация: 16.03.2011
Сообщений: 750
10.04.2012, 09:12 12
Wuw не пробовали использовать parse_ini_string, вот тут есть примеры:
http://www.php.net/manual/ru/f... string.php
0
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 9
10.04.2012, 09:13  [ТС] 13
Пробовал! Выводит только одну строку! Надо несколько!
0
258 / 147 / 37
Регистрация: 24.01.2011
Сообщений: 427
10.04.2012, 09:20 14
у вас в file.txt одно строкой всё? file(); по определению по строкам массив создаёт.
0
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 9
10.04.2012, 09:26  [ТС] 15
Выше я привел пример файла file.txt, еще раз

Amtel Planet 2P K-248 H 205/65R15 2600
Amtel Planet 2P K-234 H 195/65R15 2200
Amtel Planet 2P K-249 H 185/65R14 2000
Amtel Planet 2P K-251 H 185/60R14 1850
Amtel Planet 2P K-235 H 175/65R14 1650
Строчки разделены "энтером"
0
238 / 235 / 43
Регистрация: 16.03.2011
Сообщений: 750
10.04.2012, 09:40 16
Так подходит?
PHP
1
2
3
4
5
6
7
8
$file=file_get_contents('имя файла.txt');
$ar=explode("\n",$file);
$poisk='175/65R14';//что искать
foreach($ar as $key=>$val){
if(stripos($val,$poisk)){
echo $val.'<br>';
}
}
0
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 9
10.04.2012, 10:02  [ТС] 17
Дело было в настройках PHP!!!

Надо было включить auto_detect_line_endings в php.ini

Всем спасибо!

ЗЫ вариант используется от shafl
Ему отдельное спасибо!
0
10.04.2012, 10:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2012, 10:02
Помогаю со студенческими работами здесь

Вывод из php файла ответа
Делаю проверку, существует ли текущий пользователь, при смене логина. Не могу добиться того, что...

Вывод данных(Из файла PHP)
Есть файл &quot; Config.php &quot; там есть строчки $fstunban = '50'; // ru: цена первого разбана //...

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

Вывод нескольких строк из файла
Написать консольную программу. Пользователь вводит искомое слово. Программа выводит из файла...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru