Gjest Slettet-t9DveYkZ Skrevet 9. desember 2013 Del Skrevet 9. desember 2013 (endret) Hepp! Jeg sitter å jobber med mitt første lille PHP-script, som gjør en ganske banal sak: Steg 1: Brukeren fyller inn en form, med felter som henviser til en mappe, en filmfil og skjermbilde, kalt txtMappe, txtFilm og txtScreenshot. Steg 2: Brukeren tas til en side som viser hvordan feltene er fylt ut, og forhåndsviser filmen i en player. Headeren ser da slik ut: <?php session_start(); $_SESSION['txtScreenshot'] = $_POST["txtScreenshot"]; $_SESSION['txtFilm'] = $_POST["txtFilm"]; $_SESSION['txtMappe'] = $_POST["txtMappe"]; ?> Og fyller ut felter i en HTML-side: <?php echo $_SESSION["txtScreenshot"]; ?> og <?php echo $_SESSION["txtFilm"]; ?> Alt vel så langt! Steg 3: Brukeren blir nå tatt til en side hvor hele sulamitten skal dumpes som index.html der brukeren har oppgitt mappe i steg 1. Prøvde å løse dette ved å gjøre følgende: $doc = new DOMDocument(); $doc->formatOutput = true; $doc->loadHTML(<masse html her><?php echo $_SESSION["txtFilm"]<?php echo $_SESSION["txtScreenshot"]); $doc->saveHTMLFile('test.html'); Dette går da temmelig dårlig. php echo blir da stående i ren tekst i den resulterende HTML-siden, noe som jeg selvsagt forstår at vil skje, men jeg er usikker på hvordan jeg kan komme unna dette. Kan jeg bruke steg to til å dumpe alt til en temp.html, og så bruke steg 3 til å dumpe til endelig fil? Prøvde en mer banal utgave hvor steg 3 viste all HTML i ren tekst, og hvor da feltene ble rett utfylt, men da må brukeren lagre dette selv. Dette er mitt første forsøkt på å kode PHP selv, så jeg tar forbehold om at logikken min er fullstendig på trynet. Det er selvfølgelig masse kode som ikke er vist her, men jeg håper det holder til å få en idé om hva jeg prøver å gjøre. Sier takk for all hjelp! Endret 9. desember 2013 av Slettet-t9DveYkZ Lenke til kommentar
Gjest Slettet-t9DveYkZ Skrevet 9. desember 2013 Del Skrevet 9. desember 2013 Da er i alle fall ett av problemene løst, garantert på et mindre elegant vis. <?php ob_start(); ?> <html> <body> <?php echo $_SESSION["txtFilm"]; ?> </body> </html> <?php $variable = ob_get_clean(); $doc = new DOMDocument(); $doc->formatOutput = true; $doc->loadHTML($variable); $doc->saveHTMLFile('test.html'); ?> Dette gir meg da test.html i mappen som php-filen ligger i, og txtFilm-verdien er utfylt. Da gjenstår det bare å klare å lagre filen i en spesifisert mappe. Lenke til kommentar
Gjest Slettet-t9DveYkZ Skrevet 9. desember 2013 Del Skrevet 9. desember 2013 (endret) Da var denne saken i boks, så vidt jeg kan se. Hvis noen har noen tips til hvordan jeg ytterligere kan optimalisere ting, tar jeg det gjerne i mot. Eksempel på koden brukt: <?php session_start(); $rootpath = "../"; $filename = "/test.html"; $destination = $rootpath.$_SESSION["txtMappe"].$filename; ob_start(); ?> <html> <head> <title><?php echo $_SESSION["txtTittel"];</title> <body> <embed screenshot=<?php echo $_SESSION["txtScreenshot"]; movie=<?php echo $_SESSION["txtFilm"]; ?>/ autoplay=<?php echo $_SESSION["txtAutostart"]; ?></embed> </body> </html> <?php $variable = ob_get_clean(); $doc = new DOMDocument(); $doc->formatOutput = true; $doc->loadHTML($variable); $doc->saveHTMLFile($destination); ?> Endret 9. desember 2013 av Slettet-t9DveYkZ Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå