Автор Тема: Как на php считать из файла определённую последовательность символов?  (Прочитано 5386 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн elPoison

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://king.bestlibrary.ru/
Здравствуйте!
Ситуация: есть файл, в некотором месте файла есть следующее слово "Версия: ".
После идёт число версии, допустим 1.666. Итак, хотелось бы узнать как методом php можно:
- сначала найти в файле слово "Версия: "
- а затем извлечь всё, что находится после него до пробела (т.е. число версии 1.666).

Заранее спасибо за ответ!
Стивен КИНГ
http://KING.BestLibrary.ru/

Оффлайн C++

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 221
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Считываешь весь файл в строку. Потом с помощью регулярных выражения находишь тот кусок, который тебе нужен.

Оффлайн elPoison

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://king.bestlibrary.ru/
Хотелось бы поподробнее, принцип мне вроде ясен...
Вобщем, делаю я так:

$filename 
"file.txt";
$fd fopen$filename"r" );

$char fgetc ($fd);
if (
$char == "В") {
	
$char2 fgetc ($fd);
	
if (
$char2 == "е") {
	
	
$char3 fgetc ($fd);
	
	
if (
$char3 == "р") {
	
	
	
$char4 fgetc ($fd);
	
	
	
if (
$char4 == "с") {
	
	
	
        
$char5 fgetc ($fd);
	
	
	
         if (
$char5 == "и") {
	
	
	
                
$char6 fgetc ($fd);
	
	
	
                if (
$char6 == "я") {
	
	
	
echo (
"Всё найдено!");
                                       }
                               }
	
	
	
}
	
	
}
	
}
}

Т.е. этим куском я просто ищу по буквам слово ВЕРСИЯ... А что дальше? Признаться, я даже не знаю, как продолжать, поиск, если в файле в первом байте не окажется буквы В...
Помогите...
Стивен КИНГ
http://KING.BestLibrary.ru/

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
афигеть....
а когда тебе сахар надо в чашку положить - ты тоже, ПО ПЕСЧИНКЕ кладешь?
или, все-таки, ложками?

считывать надо не песчинку, а файл ЦЕЛИКОМ
потом использовать функцию
[p]strpos[/p]
которая найдет тебе позицию слова версия.
к этой позиции ты прибавляешь длину слова версия и от нее, указывая третьим параметром, снова используя strpos, находишь пробел.
а потом, с помощью
substr получаешь, наконец, нужный номер.
все примеры использования функций есть в мане
руский ман - в факе.

Оффлайн elPoison

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://king.bestlibrary.ru/
Хе-хе, ведь понимал я, что всё гораздо проще ;)
Оказывается, гораздо проще! RomikChef, спасибо большое, во всё разобрался!!!
Стивен КИНГ
http://KING.BestLibrary.ru/

Оффлайн nagash

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 341
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nagash.org
хорошо что ромик успел ответить...
а то щас начались бы советы использовать регекспы...
потом бы завязался бы диспут что это нецелесообразно...
вобщем тред на самом верху недели две весел бы...!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28