我正在阅读并显示文件内容。但是在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
这里的两个答案都不起作用。
答案 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>