文件内容没有在php中显示

时间:2016-07-01 08:51:50

标签: php

我正在阅读并显示文件内容。但是在PHP代码中没有显示任何错误或警告。

这是我的PHP代码

<html>
<head><title>assignment 1</title></head>
<body>
<?php
$DOCUMENT_ROOT=$_SERVER["DOCUMENT_ROOT"];
$filename=$DOCUMENT_ROOT."new/guestbook.txt";         //filename
$fp=fopen($filename,"r");
while(true) {           
$lineread=fgets($fp);                                //end of file
if(feof($fp)) {
break;
}
echo explode("|",$lineread);                       //for breaking content of file in parts using |.
}
fclose($fp);
 ?>
</body>
</html>

这是执行php脚本后的HTML代码

<html>
<head><title>assignment 1</title></head>
<body></body></html>

guestbook.txt文件

shubham |舒克拉|电话| 4566 | Rishikesh的| 16-07-01 | NA

这里的两个答案都不起作用。

2 个答案:

答案 0 :(得分:0)

您无法使用echo输出数组。

将其存储在var中并使用foreach循环来回显

$ var = explode(“|”,$ lineread);

使用print_r($ var);

将按原样输出内容。

答案 1 :(得分:0)

echo explode是不可能的,因为它是array。要echo array使用print_r()

无论如何,我不认为你不会只输出数组,而是输出每一行。为此,循环遍历explode array

以这种方式尝试:

$lines = explode("|",$lineread);

foreach( $lines as $line ) {
    echo $line . '</br>';
}

<强>更新

我更新了您的代码,这必须有效。

<html>
<head><title>assignment 1</title></head>
<body>
<?php
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
$filename = $DOCUMENT_ROOT . "/new/guestbook.txt";
$fp = fopen( $filename, "r" );

$lineread = fgets( $fp );
$lines = explode( '|', $lineread );

foreach( $lines as $line ) {
    echo $line . '</br>';
}

fclose( $fp );
?>
</body>
</html>