Чтение из файла первой строки

Maloy

Новичок
Чтение из файла первой строки

Нужно чтоб чтоб в файле прочиталась первая строка, например
#1
но при сравнении с такой же строкой в переменной она не распознается как равная if ($vr == $data)
PHP:
$fp = fopen($g.$f.$f1.$f2,"r");
  $data = fgets($fp, 4096);
  fseek($fp, 0);
  echo $data;
  $vr="#1";
  if ($vr == $data)
          {blablabla
чтоя не так делаю!?:confused:
 

sakon

П..и.н..ок
Maloy
Если бы тебе нужно было после открытия файла перейти на какую то позицию, то применение fseek было бы понятно. А так... Ну да это твое дело.
Все остальное я тебе ответил.
 

Maloy

Новичок
2sakon
спасибо огромное работает,
я просто других способов чтения первой строки из файла не знаю, но буду благодарен если подскажешь более простое решение
 

Vladson

Сильнобухер
Maloy
Шаг номер 1 читаем перую строку, далее
- если она равна заданной то что ?
- если она не равна заданной то что ?

Проверьте не это ли вам нужно
PHP:
<?php
$vr="#1";
$temp = file($g.$f.$f1.$f2);
if ( $temp[0] == $vr ) {
    echo 'Fuck You';
} else {
   foreach ($temp as $str) echo $str;
}
?>
 

sakon

П..и.н..ок
Vladson
:D
И будут те же грабли.

Если первая строка не соответсвует тому, что нужно - файл закрывается и переходится к другому файлу - и так до тех пор пока не будет найден файл с нужным значением :)
Maloy
Да все правильно ты делал. Просто fseek здесь лишнее.
 

Maloy

Новичок
Автор оригинала: Vladson
Проверьте не это ли вам нужно
PHP:
<?php
$vr="#1";
$temp = file($g.$f.$f1.$f2);
if ( $temp[0] == $vr ) {
    echo 'Fuck You';
} else {
   foreach ($temp as $str) echo $str;
}
?>
че то не понял что вы написали.
Странно, выводит содержимое файла с 3й строки и то не с начала при любом значении $vr ?
Мне просто надо проверить есть ли в этом файле такая строка а потом этот же файл включить
вот что у меня получилось и все прекрасно работает
PHP:
<?php
fp = fopen($g.$f.$f1.$f2,"r");  
$data = fgets($fp, 4096);  
fseek($fp, 0);  
echo $data;  
$clean = trim($data." ");  
$vr="<?php"; 
 if ($vr == $clean)         
 {                 
 include($g.$f.$f1.$f2);         
}  ?>
 

Maloy

Новичок
Гравицапа
я в курсах, спасибо

sakon

ну скажи как тогда менее извращенно написать код для определения первой строки файла
 

sakon

П..и.н..ок
Меня вот эта конструкция повеселила
PHP:
$data = fgets($fp, 4096); 
fseek($fp, 0);
Он так и не понял, что смещение на начало файла он делает уже после того, как прочитал первую строку. :D

Maloy
ты и без fseek читаешь ПЕРВУЮ строку. Но если тебе так уж хочется применить ее, то хот ь строки местами поменяй. ;)
 

sakon

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

Maloy

Новичок
да нифига я не понимаю че там написано, впрочем наверн как и в программировании)))))
 

Maloy

Новичок
sakon
спасибо за заботу у меня скорее проблемы с программированием. я даж на русском не могу понять че там в мануалах написано!
 

sakon

П..и.н..ок
Maloy
Я так и не сумел понять, для чего ты проверяешь подключаемый файл, на наличее в нем РНР кода?
 
Сверху