0

在我的网站上,我有一个包含以下代码的表格:

<table width="100%" id="tabloadwar" cellspacing="1" cellpadding="0" border="0">
<?php

$subdirs = array_map('intval', scandir("/war"));
$max = max($subdirs);

for($i=1;$i<=max;$i++){ ?>
<tr>
<td width="15%"><?php echo $i; ?></td>
<td width="85%">
<?php $percorso = file("dir1/content.txt"); $line = file($percorso); echo $line?></td></tr>

<?php } ?>
</table>

使用上面的代码,我想创建一个表,该表的行数与服务器中的目录数一样多。顺便说一句,它不起作用,因为我在桌子里看不到任何东西。行的一个例子是这个

<tr>
<td width="15%">1</td> // i value
<td width="85%">Italy</td> //text on the 1st line of my *.txt file
</tr>

此外,name我必须将一个名为dir1/content.txt. 它也不起作用,因为我仍然什么也没看到。有什么帮助吗?

4

1 回答 1

0

你必须沉思$max而不是在max这里for($i=1;$i<=max;$i++){

试试这段代码,看看会发生什么..

<?php
  if ( !file_exists( "/war" ) ) {
    echo "'/war' not exists<br />";
  }
  if ( !file_exists( "dir1/content.txt" ) ) {
    echo "'content.txt' not exists<br />";
  }
?>
<table width="100%" id="tabloadwar" cellspacing="1" cellpadding="0" border="0">
<?php
  $subdirs  = array_map( "intval", scandir( "/war" ) );
  $max  = max( $subdirs );

  for( $i = 1; $i <= $max; $i++ ) {
?>
  <tr>
    <td width="15%"><?php echo $i; ?></td>
    <td width="85%">
    <?php
      $lines  = file( "dir1/content.txt" );
      echo implode( "<br />", $lines );
    ?>
    </td>
  </tr>

<?php
  }
?>
</table>

你说....rows as the count of directories in my server...
如果你想获取文件夹中子文件夹的数量,你可以glob使用GLOB_ONLYDIRflag

<?php
  $dirs = glob( "path/to/dir/*", GLOB_ONLYDIR );
  $total_dirs = count( $dirs );
?>
于 2013-07-19T12:52:56.377 回答