Avatar billede Boddicker Seniormester
27. januar 2000 - 20:23 Der er 2 kommentarer og
1 løsning

Dirlisting med problemer...

Problemet kan lettes beskrives ved at kigge her:

http://www.movieboxen.dk/cgi_bin/dirlist.pl

Den BURDE skrive alle dir-entries inde i det hvide hovedområde, MEN den ødelægger i stedet tabellen. Hvordan får jeg den til at lade være med det?

Koden ser således ud (lad jer ikke skræmme af længden (på scriptet altså =D). Der er blot en masse alm. html kode i den):

#!/usr/bin/perl                   

### Bemærk at i ovennævnte linie brues #! efterfulgt af stien til perl!

########################################################################
################ Copyright (C)2000,  Thomas Turn Jensen ################
################ http://www.archer.dk  Mukke@archer.dk ################
########################################################################
################    Version of this script:    1.0    ################
########################################################################

opendir(DIR, '/hotel/movieboxen/WWW/arkiv/html');
@Files = readdir(DIR);

print "content-type: text/html\n\n";
print "<html><head>\n";
print "<script language=\"JavaScript\">\n";
print "<!--\n";
print "var img1onName, img2onName;\n";
print "// Find browser Netscape 3+ eller IE 4 +.\n";
print "bName = navigator.appName;\n";
print "bVer = parseInt(navigator.appVersion);\n";
print "if (bName == \"Netscape\" && bVer >= 3) {\n";
print "br = \"n3\";\n";
print "img1onName = \"http://www.movieboxen.dk/grafik/nyhedervalg.gif\";\n";
print "img2onName = \"http://www.movieboxen.dk/grafik/naesteugevalg.gif\";\n";
print "img4onName = \"http://www.movieboxen.dk/grafik/kalenderenvalg.gif\";\n";
print "img5onName = \"http://www.movieboxen.dk/grafik/arkivetvalg.gif\";\n";
print "img6onName = \"http://www.movieboxen.dk/grafik/kontaktosvalg.gif\";\n";
print "img7onName = \"http://www.movieboxen.dk/grafik/ommovieboxenvalg.gif\";\n";
print "img8onName = \"http://www.movieboxen.dk/grafik/linksvalg.gif\";\n";
print "    }\n";
print "    else if (bName == \"Microsoft Internet Explorer\" && bVer >= 4) {\n";
print "        br = \"e3\";\n";
print "        img1on = new Image();\n";
print "        img1on.src = \"http://www.movieboxen.dk/grafik/nyhedervalg.gif\";\n";
print "        img2on = new Image();\n";
print "        img2on.src = \"http://www.movieboxen.dk/grafik/naesteugevalg.gif\";\n";
print "        img4on = new Image();\n";
print "        img4on.src = \"http://www.movieboxen.dk/grafik/kalenderenvalg.gif\";\n";
print "        img5on = new Image();\n";
print "        img5on.src = \"http://www.movieboxen.dk/grafik/arkivetvalg.gif\";\n";
print "        img6on = new Image();\n";
print "        img6on.src = \"http://www.movieboxen.dk/grafik/kontaktosvalg.gif\";\n";
print "        img7on = new Image();\n";
print "        img7on.src = \"http://www.movieboxen.dk/grafik/ommovieboxenvalg.gif\";\n";
print "        img8on = new Image();\n";
print "        img8on.src = \"http://www.movieboxen.dk/grafik/linksvalg.gif\";\n";
print "    }\n";
print "    else {\n";
print "        br = \"n2\";\n";
print "    }\n";
print "// Lav objekter og preload billeder.\n";
print "    if ((br == \"n3\") || (br == \"e3\")) {\n";
print "        img1off = new Image();\n";
print "        img1off.src = \"http://www.movieboxen.dk/grafik/nyheder.gif\";\n";
print "        img2off = new Image();\n";
print "        img2off.src = \"http://www.movieboxen.dk/grafik/naesteuge.gif\";\n";
print "        img4off = new Image();\n";
print "        img4off.src = \"http://www.movieboxen.dk/grafik/kalenderen.gif\";\n";
print "        img5off = new Image();\n";
print "        img5off.src = \"http://www.movieboxen.dk/grafik/arkivet.gif\";\n";
print "        img6off = new Image();\n";
print "        img6off.src = \"http://www.movieboxen.dk/grafik/kontaktos.gif\";\n";
print "        img7off = new Image();\n";
print "        img7off.src = \"http://www.movieboxen.dk/grafik/ommovieboxen.gif\";\n";
print "        img8off = new Image();\n";
print "        img8off.src = \"http://www.movieboxen.dk/grafik/links.gif\";\n";
print "    }\n";
 
print "// Aktiver billeder.\n";
print "function imgAct(imgName) {\n";
print "    if (br == \"n3\") {\n";
print "        document[imgName].src = eval(imgName + \"onName\");\n";
print "    }\n";
print "    else if (br == \"e3\") {\n";
print "        document[imgName].src = eval(imgName + \"on.src\");\n";
print "    }\n";
print "}\n";
print "// Deaktiver billeder.\n";
print "function imgInact(imgName) {\n";
print "    if ((br == \"n3\") || (br = \"e3\")) {\n";
print "    document[imgName].src = eval(imgName + \"off.src\");\n";
print "    }\n";

print "}\n";
print "// -->\n";
print "</script>\n";


print "<style>\n";
print "body {font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 10pt;}\n";
print "td {font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 10pt;}\n";
print "a {text-decoration: underline; color: #0033CC}\n";
print ".overskrift {font-family: Arial, Helvetica, sans-serif; font-size: 12pt; font-weight: bold;}\n";
print ".underskrift {font-family: Arial, Helvetica, sans-serif; font-size: 8pt;}\n";
print "a:hover {color: #2D76FF}\n";
print "a:active {color: #DEE1FE}\n";
print "a:visited {color: #003399}\n";
print "</style>\n";
print "<META HTTP-EQUIV=\"Cache-Control\" CONTENT=\"no-store\">\n";
print "<META HTTP-EQUIV=\"Pragma\" CONTENT=\"no-cache\">\n";
print "<title>movieboxen.dk</title>\n";
print "</head>\n";
print "<body background=\"http://www.movieboxen.dk/grafik/baggrund.gif\" bgcolor=\"#205396\">\n";
print "<div align=\"center\">\n";
print "  <table width=\"700\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
print "    <tr>\n";
print "      <td width=\"37\" height=\"106\" valign=\"top\"> <IMG SRC=\"http://www.movieboxen.dk/grafik/topvideovenstre.gif\" USEMAP=\"#topvideovenstre\" BORDER=0 WIDTH=37 HEIGHT=106 onMouseOver=\"window.status='Tilbage til forsiden'; return true\" onMouseOut=\"window.status=''; return true\"></td>\n";
print "      <td width=\"626\" valign=\"top\">\n";
print "        <table width=\"626\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
print "          <tr valign=\"top\">\n";
print "            <td colspan=4> <IMG SRC=\"http://www.movieboxen.dk/grafik/topvideohojre1.gif\" USEMAP=\"#topvideohojre1\" BORDER=0 WIDTH=97 HEIGHT=74><IMG SRC=\"http://www.movieboxen.dk/grafik/topvideohojre2.gif\" USEMAP=\"#topvideohojre2\" BORDER=0 WIDTH=214 HEIGHT=74><img src=\"http://www.movieboxen.dk/grafik/topvideohojre3.gif\" width=\"208\" height=\"74\"><img src=\"http://www.movieboxen.dk/grafik/topvideohojre4.gif\" width=\"17\" height=\"74\"><img src=\"http://www.movieboxen.dk/grafik/topvideohojre5.gif\" width=\"90\" height=\"74\"></td>\n";
print "          </tr>\n";
print "          <tr>\n";
print "            <td width=\"113\" bgcolor=\"#FFFFFF\"> <IMG SRC=\"http://www.movieboxen.dk/grafik/bundvideovenstre.gif\" USEMAP=\"#bundvideovenstre\" BORDER=0 WIDTH=113 HEIGHT=82></td>\n";
print "<td bgcolor=\"#FFFFFF\" width=\"249\" align=\"center\">\n";
print "<A HREF=\"http://www.movieboxen.dk/cgi_bin/adban/zone1.pl?banner=NonSSI;page=01\"><IMG SRC=\"http://www.movieboxen.dk/cgi_bin/adban/zone1.pl?page=01\" border=0></A>";
print "            </td>";
print "            <td bgcolor=\"#FFFFFF\" width=\"249\" align=\"center\"> ";
print "<A HREF=\"http://www.movieboxen.dk/cgi_bin/adban/zone2.pl?banner=NonSSI;page=01\"><IMG SRC=\"http://www.movieboxen.dk/cgi_bin/adban/zone2.pl?page=01\" border=0></A>";
print "            </td>";
print "            <td bgcolor=\"#FFFFFF\" valign=\"top\" align=\"right\"><img src=\"http://www.movieboxen.dk/grafik/videobundhojre.gif\" width=\"15\" height=\"82\"></td>";
print "          </tr>";
print "          <tr background=\"http://www.movieboxen.dk/grafik/rasterbaggrund.gif\"> ";
print "            <td colspan=4 height=\"27\" background=\"http://www.movieboxen.dk/grafik/rasterbaggrund.gif\"> ";
print "              <table width=\"626\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
print "                <tr>     ";
print "                  <td height=\"27\" width=\"127\"> ";
print "                    <div align=\"center\"><a href=\"http://www.movieboxen.dk/nyheder.shtml\" onmouseover=\"imgAct('img1'), window.status='Nyheder'; return true\" onmouseout=\"imgInact('img1'), window.status=''; return true\"> ";
print "                      <img src=\"http://www.movieboxen.dk/grafik/nyheder.gif\" border=\"0\" name=\"img1\" width=\"94\" height=\"27\"></a></div>";
print "                  </td>";
print "                  <td height=\"27\" width=\"208\"> ";
print "                    <div align=\"center\"><a href=\"http://www.movieboxen.dk/naesteuge.shtml\" onmouseover=\"imgAct('img2'), window.status='Næste uges film'; return true\" onmouseout=\"imgInact('img2'), window.status=''; return true\"> ";
print "                      <img src=\"http://www.movieboxen.dk/grafik/naesteuge.gif\" border=\"0\" name=\"img2\"></a></div>";
print "                  </td>";
print "                  <td width=\"162\" height=\"27\"> ";
print "                    <div align=\"center\"><a href=\"http://www.movieboxen.dk/kalenderen.shtml\" onmouseover=\"imgAct('img4'), window.status='Kalenderen'; return true\" onmouseout=\"imgInact('img4'), window.status=''; return true\"> ";
print "                      <img src=\"http://www.movieboxen.dk/grafik/kalenderen.gif\" border=\"0\" name=\"img4\"></a></div>";
print "                  </td>";
print "                  <td width=\"129\" height=\"27\"> ";
print "                    <div align=\"center\"><a href=\"http://www.movieboxen.dk/arkivet.shtml\" onmouseover=\"imgAct('img5'), window.status='Tag et kig i arkivet'; return true\" onmouseout=\"imgInact('img5'), window.status=''; return true\"> ";
print "                      <img src=\"http://www.movieboxen.dk/grafik/arkivet.gif\" border=\"0\" name=\"img5\"></a></div>";
print "                  </td>";
print "                </tr>";
print "              </table>";
print "            </td>";
print "          </tr>";
print "        </table>";
print "      </td>";
print "      <td width=\"37\">";
print "      </td>";
print "    </tr>";
print "  </table>";
print "<!-- topslut --->";

print " <table width=\"700\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
print "    <tr>";
print "      <td height=\"400\" width=\"37\">&nbsp;</td>";
print "      <td height=\"400\" width=\"626\" bgcolor=\"#FFFFFF\">";
foreach $File (@Files)
{
  if ($File =~ m/.html$/)
  {
    $Caption = $File;
    $Text = '';
    open (FILE, "</hotel/movieboxen/WWW/arkiv/html/$File");
    while (<FILE>)
    {
      $Text .= $_;
    }
    close FILE;
    if ($Text =~ m/\<TITLE\>(.*?)\<\/TITLE\>/i) {$Caption = $1}
print "<A HREF=http://www.movieboxen.dk/arkiv/html/$File>$Caption</A><BR>\n";
print "      </td>";
print "      <td height=\"400\" width=\"37\">&nbsp;</td>";
print "    </tr>";
print "  </table>";


print "<!-- bundstart --->";
print "  <table width=\"700\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
print "    <tr> ";
print "      <td width=\"37\">&nbsp;</td>";
print "      <td width=\"626\" height=\"27\" background=\"http://www.movieboxen.dk/grafik/rasterbaggrund.gif\">";
print "        <table width=\"626\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
print "          <tr>";
print "            <td width=\"132\"> ";
print "              <div align=\"center\"><a href=\"http://www.movieboxen.dk/kontaktos.shtml\" onmouseover=\"imgAct('img6'), window.status='Kontakt os'; return true\" onmouseout=\"imgInact('img6'), window.status=''; return true\"> ";
print "                <img src=\"http://www.movieboxen.dk/grafik/kontaktos.gif\" border=\"0\" name=\"img6\"></a></div>";
print "            </td>";
print "            <td width=\"201\"> ";
print "              <div align=\"center\"><a href=\"http://www.movieboxen.dk/ommovieboxen.shtml\" onmouseover=\"imgAct('img7'), window.status='Om movieboxen.dk'; return true\" onmouseout=\"imgInact('img7'), window.status=''; return true\"> ";
print "                <img src=\"http://www.movieboxen.dk/grafik/ommovieboxen.gif\" border=\"0\" name=\"img7\" width=\"183\" height=\"27\"></a></div>";
print "            </td>";
print "            <td width=\"84\"> ";
print "              <div align=\"center\"><a href=\"http://www.movieboxen.dk/links.shtml\" onmouseover=\"imgAct('img8'), window.status='Links'; return true\" onmouseout=\"imgInact('img8'), window.status=''; return true\"> ";
print "                <img src=\"http://www.movieboxen.dk/grafik/links.gif\" border=\"0\" name=\"img8\"></a></div>";
print "            </td>";
print "            <td width=\"195\">&nbsp;</td>";
print "            <td width=\"14\">&nbsp;</td>";
print "          </tr>";
print "        </table>";
print "      </td>";
print "      <td width=\"37\">&nbsp;</td>";
print "    </tr>";
print "    <tr>";
print "      <td width=\"37\">&nbsp;</td>";
print "      <td width=\"626\">";
print "        <table width=\"626\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
print "          <tr>";
print "            <td width=\"15\" height=\"27\" valign=\"bottom\" align=\"left\" bgcolor=\"#FFFFFF\"><img src=\"http://www.movieboxen.dk/grafik/bundvenstre.gif\" width=\"15\" height=\"27\"></td>";
print "            <td bgcolor=\"#FFFFFF\" width=\"596\" height=\"27\" valign=\"bottom\"> ";
print "              <div align=\"right\"> <span class=\"underskrift\"><font size=-2> &copy;";
print "                movieboxen.dk 1999-2000</font></span></div>";
print "            </td>";
print "            <td width=\"15\" height=\"27\" bgcolor=\"#FFFFFF\"><img src=\"http://www.movieboxen.dk/grafik/bundhojre.gif\" width=\"15\" height=\"27\"></td>";
print "          </tr>";
print "        </table>";
print "      </td>";
print "      <td width=\"37\">&nbsp;</td>";
print "    </tr>";
print "  </table>";
print "</div>";
print "<MAP NAME=\"topvideovenstre\"> <AREA SHAPE=poly COORDS=\"36,27,10,36,5,45,37,100,37,27,36,27\" HREF=\"main.shtml\" onMouseOver=\"window.status='Tilbage til forsiden'; return true\" onMouseOut=\"window.status=''; return true\" alt=\"Tilbage til forsiden\" title=\"Tilbage til forsiden\"> ";
print "</MAP> <MAP NAME=\"topvideohojre1\"> <AREA SHAPE=poly COORDS=\"0,27,84,0,97,17,97,74,0,74,0,27\" HREF=\"main.shtml\" onMouseOver=\"window.status='Tilbage til forsiden'; return true\" onMouseOut=\"window.status=''; return true\" alt=\"Tilbage til forsiden\" title=\"Tilbage til forsiden\"> ";
print "</MAP> <MAP NAME=\"topvideohojre2\"> <AREA SHAPE=poly COORDS=\"0,15,27,55,0,74,0,15\" HREF=\"main.shtml\" onMouseOver=\"window.status='Tilbage til forsiden'; return true\" onMouseOut=\"window.status=''; return true\" alt=\"Tilbage til forsiden\" title=\"Tilbage til forsiden\"> ";
print "</MAP> <MAP NAME=\"bundvideovenstre\"> <AREA SHAPE=poly COORDS=\"95,0,14,49,0,24,0,0,95,0\" HREF=\"main.shtml\" onMouseOver=\"window.status='Tilbage til forsiden'; return true\" onMouseOut=\"window.status=''; return true\" alt=\"Tilbage til forsiden\" title=\"Tilbage til forsiden\"> ";
print "</MAP> ";
print "</body>";
print "</html>";
  }
}
closedir(DIR);
Avatar billede erikjacobsen Ekspert
27. januar 2000 - 22:48 #1
Du kan flytte sidste linie, closedir(DIR), op umiddelbart efter din @files=readdir(DIR).
Der er nemlig ingen grund til at holde kataloget åbent - men det er ikke en fejl.

De to næstsidste linier, dem med '}' i, skal du også flytte længere op. De
skal nemlig meget tættere på foreach-løkken. Nedenfor ser du én løsning, men
alle links kommer i samme celle i tabellen. Hvis det ikke er det du ønsker,
skal der laves lidt mere sjov med <TR> og <TD>.

print " <table width=\"700\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
print "    <tr>";
print "      <td height=\"400\" width=\"37\">&nbsp;</td>";
print "      <td height=\"400\" width=\"626\" bgcolor=\"#FFFFFF\">";
foreach $File (@Files)
{
if ($File =~ m/.html$/)
  {
    $Caption = $File;
    $Text = ';
  open (FILE, "</hotel/movieboxen/WWW/arkiv/html/$File");
  while (<FILE>)
    {
      $Text .= $_;
    }
      close FILE;
    if ($Text =~ m/\<TITLE\>(.*?)\<\/TITLE\>/i) {$Caption = $1}
print "<A HREF=http://www.movieboxen.dk/arkiv/html/$File>$Caption</A><BR>\n";
  }
}
print "      </td>";
print "      <td height=\"400\" width=\"37\">&nbsp;</td>";
print "    </tr>";
print "  </table>";
Avatar billede Boddicker Seniormester
28. januar 2000 - 08:31 #2
Så virker det, MEN jeg vil bare lige fortælle til andre, der evt. kunne drage nytte af scriptet at linien: $Text = '; rent faktisk skal have to 'er lige efter hinanden. Eksperten.dk sletter af en eller anden grund det ene!!
Avatar billede erikjacobsen Ekspert
28. januar 2000 - 09:20 #3
Fint, nok, auggie. Ja, det med to enkeltstroffer efter hinanden er et kendt problem her.
Det stammer vist nok fra SQL-databasen nedenunder.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester