大家好日子 好的,所以我已经完成了我的理解,需要一些指导和帮助。目前我对html / php很新,所以请耐心等待。计划是在下拉列表中列出Dir中的文本文件,这是我已经完成的,现在我想在提交按钮按下时在表格中的同一页面中显示文本文件。这是我到目前为止所有的欢迎,因为我还在学习! bash脚本只是一个grep函数,用于从原始文件中获取特定行并将其复制到/ tmp。 再次感谢
<html>
<head>
<title>Data Request</title>
</head>
<body>
<h1 align="center">Dispatch Report</h1>
<h2 align="center">Wrong Arrives Report</h2>
<table align="center" border="2">
<tr>
<td>Select Shift<br>
<form name="shiftfrm" id="shiftfrm">
<select name="shiftlist" id="shiftlist">
<option value="" selected="selected">--------</option>
<?php
$dir = opendir ("/var/www/files/");
while (false !== ($file = readdir($dir))) {
if (strpos($file, '.txt',1)) {
echo '<option value="' . $file . '">' . $file . '</option>';
}
}
?>
</select>
<input type="submit" id="submit" value="Submit"/>
<?php
if( ($handle = fopen( '/tmp/sh130418n.txt', 'r' )) !== false )
{
$output = '<table align="center" width="" border="2">';
while( ($data = fgetcsv( $handle )) !== false )
{
$output .= '<tr>';
foreach( $data as $value )
{
$output .= sprintf( '<td>%s</td>', $value );
}
fclose( $handle );
$output .= '</table>';
}
echo $output;
?>
</td></tr>
</table>
<?php
$output = exec('/var/www/cgi-bin/manualexceptget.sh');
echo "<pre>$output</pre>";
?>
</body>
</html>
答案 0 :(得分:0)
假设<form method="post" action="">
。增加文件阅读代码:
if(!empty($_POST['shiftlist'])) {
$file = 'files/'.$_POST['shiftlist'];
if(file_exists($file)) {
if( ($handle = fopen( $file, 'r' )) !== false )
{
$output = '<table align="center" width="" border="2">';
while( ($data = fgetcsv( $handle )) !== false )
{
$output .= '<tr>';
foreach( $data as $value )
{
$output .= '<td>'.$value.'</td>';
}
$output .= '</table>';
}
echo $output;
fclose( $handle );
}
}
}
编辑:修正了下面所述的isset()问题。更改了一些代码,$ handle在阅读完成之前就已关闭。
Edit2:我只是把它放在编辑器中,并看到许多未正确放置的html标签(例如表格未关闭)。工作样本位于pastebin(在xampp上测试)
答案 1 :(得分:0)
尝试这样的(.txt)文件..
<html>
<head>
<title>Data Request</title>
</head>
<body>
<h1 align="center">Dispatch Report</h1>
<h2 align="center">Wrong Arrives Report</h2>
<table align="center" border="2">
<tr>
<td>Select Shift<br />
<form name="shiftfrm" id="shiftfrm" method="POST">
<select name="shiftlist" id="shiftlist">
<option value="" selected="selected">--------</option>
<?php
$dir = opendir("files/");
while (false !== ($file = readdir($dir)))
{
if (strpos($file, '.txt', 1))
{
echo '<option value="' . $file . '">' . $file . '</option>';
}
}
?>
</select>
<input type="submit" name="submit" id="submit" value="Submit"/>
<br />
<?php
if (isset($_POST['submit']) && isset($_POST['shiftlist']))
{
if ($handle = file_get_contents('files/' . $_POST['shiftlist']))
{
$output = '<table align="center" width="" border="2">';
$output .= '<tr><td>';
echo $handle;
$output .= '</tr></td>';
$output .= '</table>';
} else
{
echo "No Content";
}
} else
{
echo "Please select the file";
}
?>
</td>
</tr>
</table>
</body>
</html>