2013-04-09 3 views
-1

Привет, у меня есть этот файл test1.php и в другом файле test.php У меня есть этот php код работает:получить только одну строку с веб-страницы

<?php 
$file = "http://inviatapenet.gethost.ro/sop/test1.php"; 
$line = '0'; 
if($f = fopen($file, 'r')){ 
    $line = fgets($f); // read until first newline 
    fclose($f); 
} 
echo $line; 
?> 

Идея заключается в том, чтобы получить только второй линии веб-страница test1.php.

Вторая линия

Я попытался изменить $line = '2'; но не влияет, он просто отображает первую строку. Мне нужна помощь.

+0

справа, потому что вы просто 'fget'ting в первой строке, вы n ot используя переменную '$ line' где угодно. Попробуйте использовать его в цикле. – deceze

ответ

0

Это должно сработать. Очевидно, что изменить только значение $linetofetch:

<?php 
// Write here the number of the line you want to fetch. 
$linetofetch = 2; 

$file = "http://inviatapenet.gethost.ro/sop/test1.php"; 
$currentline = 1; 
if($f = fopen($file, 'r')){ 
    while ($currentline <= $linetofetch) { 
    $line = fgets($f); // read until first newline 
    $currentline++; 
    } 
    fclose($f); 
    } 
echo $line; 
?> 
+0

Это не волнует! это дает мне ошибки: fclose(): 3 не является допустимым ресурсом потока –

+0

Извините, что 'fclose' должен был быть вне цикла, исправлено, но ответ Dale лучше в любом случае (; –

+0

Но ваш ответ помогает мне лучше. –

1

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

Например:

data.txt:

line one 
line two 
line three 
line four 

PHP код:

$file = file('data.txt'); 
echo $file[1]; // echo line number 2, remember arrays start at 0! 

Обновленный PHP код новой версии (5.4):

echo file('data.txt')[1]; 
+0

Ничего, +1, так как я даже не знал об этом. Версия для 5.4 должна быть намного более эффективной, верно? (так как на самом деле файл не хранится в переменной) –

+1

Я так полагаю, да, один лайнер, который находится на высоком уровне в прохладных точках :)) – Dale

+0

этот вызов greate! –

Смежные вопросы