2013-04-09 43 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

权,因为你只是'第一行',你就是n不要在任何地方使用你的'$ line'变量。尝试在循环中使用它。 – deceze 2013-04-09 09:13:46

回答

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不是一个有效的流资源 – 2013-04-09 09:30:55

+0

对不起,'fclose'不得不在外面的循环,纠正,但戴尔答案是更好的反正( – 2013-04-09 10:06:52

+0

但你的回应帮助我更好 – 2013-04-09 10:33:20

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的版本应该更有效率,对吧?(因为没有文件实际存储到变量中) – 2013-04-09 09:21:07

+1

我认为是的,也是一个这是一个很酷的点上的方式:)) – Dale 2013-04-09 09:23:28

+0

这种烦人的格里特! – 2013-04-09 09:32:44