Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从网页中仅获取一行_Php - Fatal编程技术网

Php 从网页中仅获取一行

Php 从网页中仅获取一行,php,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的第二行 第二线 我试

嗨,我有这个文件,在另一个文件里我有这个
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'但没有影响,它只显示第一行。

我需要帮助。

这应该行得通。显然,只更改
$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;
?>

您可以使用它将文件读入数组,然后您可以通过使用所需索引获取所需的任何行

例如:

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!
更新了新版本(5.4)的PHP代码:


是的,因为您只是
fget
ting第一行,所以您没有在任何地方使用
$line
变量。尝试在循环中使用它。很好,+1,因为我甚至不知道这个。5.4版本应该更高效,对吗?(因为没有文件实际存储到变量中)我假设是的,而且它是一个单行程序,非常酷:)@Frank在
[1]
访问数据之前,整个文件仍然被读入内存并存储在数组中。它不再有效,只是语法上的糖分。由于没有变量引用数据,因此数据可能很快就会被垃圾收集。此外,您以后也无法使用一行程序方法再次访问它,它看起来很酷。这不会有问题!它给了我错误:fclose():3不是一个有效的流资源抱歉,
fclose
必须在循环之外,已更正,但Dale的答案还是更好的(但是你的反应对我有帮助。哇,谢谢,我能问为什么吗?如果你真的想选择这个,请至少考虑一下Dale的回答,这更好。”我们的回答都是“更好”的,我只是用了不同的方法来达到同样的结果:D。
echo file('data.txt')[1];