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];