Avatar billede sotec Nybegynder
07. september 2003 - 01:25 Der er 7 kommentarer og
1 løsning

Side generator script

Jeg efterlyser et simpelt script som kan generere en
.htm side baseret på en fast skabelon, hvor indholdet
selvfølgelig er forskelligt bortset fra menu, top, bund osv.

Jeg forestiller mig en admin side hvor man kan indtaste:

- Sidenavn (Det som .htm filen skal hedde)
- Overskrift (Artikel overskrift)
- Forfatter (Af [forfatter] + dansk dato-tids stempel)
- Sti til evt. billede (billede skal have fast plads i skabelonen)
- Artikel (Textarea til artikel - skal overholde linjeskift og afsnit hvis man copy-paster fra f.eks. Word)

Og så en knap som hedder LAV SIDEN, hvorefter den bliver
gemt som en .htm side.

Det behøver ikke at være DB baseret.
Måske en .txt fil til at holde koden som udgør skabelonen?
Avatar billede RJFreelance Praktikant
07. september 2003 - 01:37 #1
lytter :D
Avatar billede hmortensen Nybegynder
07. september 2003 - 09:47 #2
Her en nok ret smadret kode, men den virker da:

-------form.htm------
<html>
<head>
<title>Lav ny fil</title>
</head>
<body>
<center>
<form action="make.php" method="post">
Filnavn:<br>
<input type="text" name="filnavn"><br>
Titel:<br>
<input type="text" name="title"><br>
Forfatter:<br>
<input type="text" name="forfatter"><br>
Billede:<br>
<input type="text" name="pic"><br>
Artikel:<br>
<textarea cols="80" rows="8" name="text"></textarea>
<br>
<input type="submit" value="Lav siden">
</form>
</center>
</body>
</html>
-------form.htm------


-------make.php------
<?php
$text = nl2br($_POST[text]);
$dato = date("d/m - y H:i");
$indhold ="<html>\n<head>\n<title>\n$_POST[head_title]</title>\n</head>\n";
$indhold .="<body>\n<center>\n<table width=\"500\">\n";
$indhold .="<tr><td width=\"500\" align=\"center\"><h1>$_POST[title]</h1></td></tr>\n";
$indhold .="<tr><td width=\"500\" align=\"center\"><h2>$_POST[forfatter]</h2></td></tr>\n";
$indhold .="<tr><td width=\"500\" align=\"center\"><h3>$dato</h2></td></tr>\n";

if ($pic){
$indhold .="<tr><td width=\"500\" align=\"center\"><img src=\"$_POST[pic]\" width=\"100\" height=\"100\"></td></tr>\n";
}

$indhold .="<tr><td width=\"500\" align=\"center\">$text</td></tr>\n";
$indhold .="</table>\n</center>\n</body>\n</html>";

$filename = $_POST[filnavn];
$filename .= ".htm";

if (!file_exists($filename))
{
touch($filename);
chmod($filename,0666);

if (is_writable($filename)) {
    if (!$handle = fopen($filename, 'a')) {
        print "$filename kan ikke åbnes";
        exit;
    }

    if (!fwrite($handle, $indhold)) {
        print "Der kan ikke skrives til $filename";
        exit;
    }
    fclose($handle);
    header("refresh: 0; url=$filename");               
} else {
    print "$filename kan ikke åbnes til skrivning";
}
} else {
    print "Filen $filename findes allerede";
}
?>
------make.php------
Avatar billede sotec Nybegynder
07. september 2003 - 15:13 #3
Warning: unable to create file test.htm because Permission denied in make.php on line 22

Warning: Unable to access test.htm in make.php on line 23

Warning: chmod failed: No such file or directory in make.php on line 23
test.htm kan ikke åbnes til skrivning
Avatar billede hmortensen Nybegynder
07. september 2003 - 15:28 #4
Så er det fordi du ikke har rettighed til at lave chmod.

Det virker fint her
Avatar billede hmortensen Nybegynder
07. september 2003 - 15:29 #5
Eller rettere: Du har ik ret til at lave filer
Avatar billede sotec Nybegynder
07. september 2003 - 17:42 #6
OK, jeg har flere hoteller hvor jeg kan teste på. Hvad skal jeg kigge efter i phpinfo som SKAL være enabled?
Avatar billede hmortensen Nybegynder
07. september 2003 - 18:30 #7
Ved jeg faktisk ikke, men tror det er safe mode, eller hvad det nu hedder
Avatar billede sotec Nybegynder
08. december 2003 - 00:49 #8
Lukker, intet konstruktivt.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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