我有一个代码从.txt文件中提取数据并将其放入HTML表格中。编写代码的方式会提取比我需要的更多的数据。如何隐藏输出中的列?这将返回9列,我只需要前5列。
<?php
function toASCII($str) {
return strtr(utf8_decode($str), utf8_decode(
'ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ'), 'SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy');
}
require_once 'meekrodb.php';
DB::$user = 'root';
DB::$password = '';
DB::$dbName = 'test';
$dirArray = array();
$dirpath = 'C:\xampp\htdocs\auditscripts\SCRIPTS\\';
$SERVERNAME=array();
// open this directory
$myDirectory = scandir($dirpath);
// get each entry
foreach ($myDirectory as $value) {
if (is_dir($dirpath . $value)) {
$myDirectory = scandir($dirpath . $value);
if (is_file($dirpath . $value . '\secedit_mergedpolicy.txt')){
$dirArray[] = $dirpath . $value . '\secedit_mergedpolicy.txt';
$servername[]=$value;
}
}
}
// count elements in array
$indexCount = count($dirArray);
Print ("$indexCount files<br>\n");
// sort 'em
sort($dirArray);
// print 'em
print("<TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks>\n");
print("<TR><TH>Server Name</TH><th>VALUE01</th><th>VALUE02</th><th>VALUE03</th><th>VALUE04</th><th>VALUE05</th></TR>\n");
// loop through the array of files and print them all
for ($index = 0; $index < $indexCount; $index++) {
if (substr("$dirArray[$index]", 0, 1) != ".") { // don't list hidden files
$data_tisert = array();
print("<TR><TD>$servername[$index]</td>");
$myString = file_get_contents($dirArray[$index]);
$l1 = explode('<br />', nl2br($myString));
$st = false;
foreach ($l1 as $vx) {
if (!strpos($vx,'=')){
$st=false;
}
if ($st) {
$l1_1 = explode('=', $vx);
print("<TD>$l1_1[1]</td>");
$data_tisert[] = $l1_1[1];
}
/// echo trim(utf8_encode($vx)) == '[Event Audit]' ? 'y' : 'n';
if (utf8_encode(trim($vx)) == utf8_encode('[Event Audit]')) {
$st = true;
}
}
DB::insert('event_audit', array(
'VALUE01' => $data_tisert[0],
'VALUE02' => $data_tisert[1],
'VALUE03' => $data_tisert[2],
'VALUE04' => $data_tisert[3],
'VALUE05' => $data_tisert[4],
));
print("</TR>\n");
}
}
print("</TABLE>\n");
?>
答案 0 :(得分:0)
如果你只想要5,只需在你的阵列上放一个计数器:
而不是:
foreach ($l1 as $vx) {
使用
for ($ii=0; ( ($ii < 5) && ($ii < count($l1)) ); $ii++){
$vx = $l1[$ii];