12. februar 2004 - 18:57
Der er
12 kommentarer og 2 løsninger
Skrive til, og læse fra en tekstfil
Hejsa Jeg vil prøve at lave en redigerbar rulletekst. <marquee width="200"><p>Redigerbar Tekst</p></marquee> Hvor man via en form skriver til en tekstfil og herfra henter teksten ind i <marquee> i en ny fil. Hvordan gør jeg det?
Annonceindlæg fra Infor
12. februar 2004 - 19:04
#1
Har du erfaring med PHP, og kun mangler en idé til hvordan det kan laves, eller søger du en fuldstænding løsning? Hvis man ser på pointene ude, må man vel gætte på det sidste :)
12. februar 2004 - 19:11
#2
Jeg har faktisk erfaring med php, men har været væk fra det alt for længe... nu kan jeg ik rigtigt få tingene til at virke - så en komplet løsning vil være rar.
12. februar 2004 - 19:13
#3
med på en lytter
12. februar 2004 - 22:36
#4
<marquee width="200"><p><?php if (isset($_POST['addtext'])) { $fil = "rulletekst.txt"; $tekst = $_POST['addtext']; $tomfil = "empty"; if (!file_exists($fil)) { die("Fejl: '$fil' eksisterer ikke!"); } if (!file_exists($tomfil)) { die("Fejl: '$tomfil' eksisterer ikke!"); } if(copy($tomfil, "test") && unlink("test")) { unlink($fil); copy($tomfil, $fil); } else { die("Fejl: Kunne ikke kopiere eller slette testfil"); } if (@$handle = fopen($fil, "a+")) { fwrite($handle, $tekst); fclose($handle); } } echo file_get_contents("rulletekst.txt"); ?></p></marquee> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> Ny tekst:<br> <textarea name="addtext"> <?php echo file_get_contents("rulletekst.txt"); ?> </textarea> <p> <input type="submit"> </form> --- 'rulletekst.txt' og 'empty' skal eksistere i mappen sammen med scriptet, med mindre du altså laver filnavne og/eller filstier om, hvilket der ikke skulle være noget problem i.
12. februar 2004 - 22:40
#5
Den 'empty' du nævner... hvad er det?
12. februar 2004 - 22:54
#6
nååå, det fandt jeg ud af --- jeg får en fejlmeddelelse: Fatal error: Call to undefined function: file_get_contents()
12. februar 2004 - 23:09
#8
<marquee width="200"><p><?php $fil = "rulletekst.txt"; $tomfil = "empty"; if (isset($_POST['addtext'])) { $tekst = $_POST['addtext']; if (!file_exists($fil)) { die("Fejl: '$fil' eksisterer ikke!"); } if (!file_exists($tomfil)) { die("Fejl: '$tomfil' eksisterer ikke!"); } if(copy($tomfil, "test") && unlink("test")) { unlink($fil); copy($tomfil, $fil); } else { die("Fejl: Kunne ikke kopiere eller slette testfil"); } if (@$handle = fopen($fil, "a+")) { fwrite($handle, $tekst); fclose($handle); } } if (@$handle = fopen($fil, "r")) { $msgcontents = fread($handle, filesize($fil)); fclose($handle); } else { die("Fejl: Kunne ikke læse fra '$fil'"); } echo $msgcontents; ?></p></marquee> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> Ny tekst:<br> <textarea name="addtext"> <?php echo $msgcontents; ?> </textarea> <p> <input type="submit"> </form>
13. februar 2004 - 01:06
#9
Hmmm... det virker stadig ikke. - gør jeg det mon forkert? Jeg kopierer alt fra <marquee> til </marquee> i en fil: empty.php resten til test.php og laver rulletskst.txt Lægger det i samme mappe - chmod'er det til 777 men der bliver ik skrevet til rulletekst.txt i det første forslag kørte fejlmeddelelsen i empty.php, men nu sker der ik noget.
13. februar 2004 - 01:13
#10
hehe... DOH !! Alt skal selvfølgelig være i én fil - men hvad er empty??? - der står den ikke eksisterer. Jeg har prøvet at lave både en empty.php og en empty.txt Puha, jeg føler mig dum
13. februar 2004 - 09:04
#11
Du kan osse prøve dette: <?php $fil = $_SERVER["DOCUMENT_ROOT"] ."/marquee.txt"; //Fuld sti og navn på txt-fil if(isset($_POST["tekst"])) { $fp = fopen($fil, 'w+'); if($fp) { chmod($fil, 0755); fputs($fp, stripslashes(htmlentities($_POST["tekst"]))); } header("Location:". $_SERVER["PHP_SELF"] .""); exit(); } ?> <html><head><title>Marquee</title></head> <body> <?php if(file_exists($fil)) { echo"<marquee width=\"200\"><p>\n"; readfile($fil); echo"\n</p></marquee>"; } ?> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> <input type="text" name="tekst" size="32"> <input type="submit" value="Gem tekst"> </form>
13. februar 2004 - 09:05
#12
Nåh, ja, dder mangler selvf. lige: </body></html>
13. februar 2004 - 09:37
#13
empty skal ikke have nogen filendelse, dvs. at du opretter en tekstfil, omdøber den til empty, og husker at fjerne .txt. Ellers kan du bare ændre indholdet af $tomfil i scriptet til empty.txt, eller noget andet.
13. februar 2004 - 10:46
#14
lækkert takker :-)
Vi tilbyder markedets bedste kurser inden for webudvikling