This is the code of the goindex.

Copy-paste the portion below into a .php file

Enjoy!

<?php
/*----------------------------------------------------------
.sgf index table with annotations
------------------------------------------------------------
Manual :
Place the .sgf files in the same directory as this .php file.
They must have the extention ".sgf".
This php file then outputs a table with the available .sgf files
with information, links etc.
-----------------------------------------------------------
Settings :
*/
// Directory of .sgf files 
  $sgfdir = ".";
// May rename file names with spaces in ? (otherwise can't be shown in eidogo)
  $mayrename = TRUE;
// May I show this code (change to false if you change it and include passwords etc.)
  $mayshow = TRUE;
// Charset used in target web page (might be necessary)
// $tset = 'ISO8859-1';
// Host and relative directory of this (i.e. 'http://www.mywebsite.com/gotable' )
  $home = 'http://' . $_SERVER['HTTP_HOST'] . '/' . substr($_SERVER['REQUEST_URI'],1,strrpos($_SERVER['REQUEST_URI'],'/') );
// CSS Class of table (if any)
  $tableclass = FALSE;
// Version
  $version = "v0.1";
// ---------------  User settings end ----------------------
// 
// Copyright (C) 2009 teralaser from www.teralaser.net
//
// GPL license :
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a link to the GNU General Public License
// along with this script; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
// 
// For the full text of the GNU General Public License, please see 
// http://www.gnu.org/licenses/gpl.txt
// ------------------- End of user adjustable stuff----------------
// Code
$delim_windows = "\\";
$delim_unix    = "/";
$delim = $delim_unix;
if (eregi('WIN',PHP_OS)) $delim = $delim_windows;

// Show itself
if ($mayshow && ($_GET['s'] == 'here')) {

?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xml:lang="da" 
xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>Go index php code</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<style type="text/css" >
h4 { background-color: green; } 
h1 { background-color: white; font: 10px Courier;} 
</style>
</HEAD><body>
  <h4><p>This is the code of the goindex.</p>
  <p>Copy-paste the portion below into a .php file<p>
  <p>Enjoy!</p>
  </h4>
<?
  echo "<h1><pr"; echo "e>";
  $thisf = htmlspecialchars(file_get_contents(__FILE__),ENT_QUOTES,'ISO-8859-1');
  echo $thisf;
  echo "</pr"; echo "e></h1><h4><p>End.</p></h4></body></HTML>";
  exit;
} // end show itself

// Read all .sgf files
$sgffiles = array();
if ( ! is_dir($sgfdir) ) {
  echo "Can not find the sgf directory $sgfdir - exit from gotable.php<br>";
  exit();
}

if ($dh = opendir($sgfdir)) { 
  $nofiles = 0;
  while ((($file = readdir($dh)) !== false) && ($nofiles < 200 )) { 
    if ($file != "." && $file != ".." && (preg_match('/\.SGF$/i',$file) != 0)) {
      if ((strpos($file,' ') !== FALSE) && $mayrename) {
        $nfile = str_replace(' ','_',$file);
        $suc = rename($file,$nfile);
        if ($suc) $file = $nfile;
      }
      $sgffiles[] = $sgfdir . $delim . $file;
      $nofiles++;
    }
  } 
  closedir($dh);
}

function findtag($tagletters,$ss,$default)
{
  global $cset,$tset;
  $x = preg_match('/' . $tagletters . '\[([^\]]+)\]/',$ss,$m);
  $mm = $default;
  if ($x > 0) $mm = $m[1];
  $mm = str_replace('\','',$mm);
  $mm = str_replace('\]',']',$mm);
  $mm = str_replace('\\\\','\\',$mm);
  $mm = str_replace('\:',':',$mm);
  if (isset($cset)) $mm = htmlentities($mm,ENT_QUOTES,$cset);
  if (isset($tset) && isset($cset)) $mm = iconv($cset,$tset,$mm);
  return $mm;
}


// Find information for all files
$sgf = array();
foreach($sgffiles as $filename) {
  $sgf[]['file'] = $filename;
  $i = count($sgf) - 1;
  $ss = implode('',file($filename));
  $cset = findtag('CA',$ss,'cp1252'); // Windows-1252
  $sgf[$i]['White player'] = findtag('PW',$ss,'');
  $sgf[$i]['W rank'] = findtag('WR',$ss,'');
  $sgf[$i]['Black player'] = findtag('PB',$ss,'');
  $sgf[$i]['B rank'] = findtag('BR',$ss,'');
  $sgf[$i]['Game'] = findtag('GN',$ss,'');
  $sgf[$i]['Result'] = findtag('RE',$ss,'?');
  $sgf[$i]['Size'] = findtag('SZ',$ss,'19');
  $sgf[$i]['Size'] = $sgf[$i]['Size'] . 'x' . $sgf[$i]['Size'];
  $sgf[$i]['Komi'] = findtag('KM',$ss,'_');
  $sgf[$i]['Date'] = findtag('DT',$ss,date ("Y-m-d",filemtime($filename)));
  $sgf[$i]['Handicap'] = findtag('HA',$ss,'');
  if ($sgf[$i]['Handicap'] != '') $sgf[$i]['Hancicap'] = 'H' . $sgf[$i]['Hancicap'];
  $sgf[$i]['Link'] = "<a href='$filename'>sgf</a>";
  if (strpos(' ',$filename) === FALSE) {
    $sgf[$i]['Link'] .= " <a href='http://eidogo.com/#url:" . $home . $filename . "' target='_blank' >show</a>";
  }

}

// Make table
  if ($tableclass) $c = "class=" . $tableclass;
  echo "\n<br>";
  echo "<table $c width='500' border='1' cellspacing='0' cellpadding='0' style='background-color: $table_border'>\n";
  // table header
  echo "<tr>\n";
    echo "<th style='width=15%'>" . 'White' . "</th>\n";
    echo "<th style='width=5%'>"  . ''      . "</th>\n";
    echo "<th style='width=15%'>" . 'Black' . "</th>\n";
    echo "<th style='width=5%'>"  . ''      . "</th>\n";
    echo "<th style='width=20%'>" . 'Game'  . "</th>\n";
    echo "<th style='width=5%'>"  . 'R'     . "</th>\n";
    echo "<th style='width=5%'>"  . ''      . "</th>\n";
    echo "<th style='width=5%'>"  . 'Komi'  . "</th>\n";
    echo "<th style='width=10%'>" . 'Date'  . "</th>\n";
    echo "<th style='width=5%'>"  . 'H'     . "</th>\n";
    echo "<th style='width=10%'>" . 'Link'  . "</th>\n";
  echo "</tr>";


  foreach($sgf as $sline) {
    echo "<tr>\n";
      echo "<td style='width=15%'>" . $sline['White player'] . "</td>\n";
      echo "<td style='width=5%'>"  . $sline['W rank']       . "</td>\n";
      echo "<td style='width=15%'>" . $sline['Black player'] . "</td>\n";
      echo "<td style='width=5%'>"  . $sline['B rank']       . "</td>\n";
      echo "<td style='width=20%'>" . $sline['Game']         . "</td>\n";
      echo "<td style='width=5%'>"  . $sline['Result']       . "</td>\n";
      echo "<td style='width=5%'>"  . $sline['Size']         . "</td>\n";
      echo "<td style='width=5%'>"  . $sline['Komi']         . "</td>\n";
      echo "<td style='width=10%'>" . $sline['Date']         . "</td>\n";
      echo "<td style='width=5%'>"  . $sline['Handicap']     . "</td>\n";
      echo "<td style='width=10%'>" . $sline['Link']         . "</td>\n";
    echo "</tr>\n";
  }
  echo "</table>\n";
  if ($mayshow) {
    // You may need to change this, depending on your file system.
    $msarr = array();
    $msp = preg_match('/\/([^\/]+)$/',__FILE__,$msarr);
    if ($msp > 0) $mshowlink = $home . $msarr[count($msarr) - 1] . "?s=here";
    echo "<p style='text-align:right'><a href='$mshowlink' target='_blank' title='Get this php code for your own website'>Code</a></p>\n";
  }
  echo "<!-- table made by goindex.php version $version see www.teralaser.net/go -->\n";
?>

End.