Avatar billede fishman Nybegynder
26. december 2001 - 21:07 Der er 7 kommentarer og
1 løsning

Tøm txt fil

Hej, jeg vil gerne høre om det er muligt via en submit knap at slette alt hvad der står i en txt fil: I php uden MySql. Hvis ja er der så en der vil lave php scriptet til mig
Tak på forhånd :)
Avatar billede thabunny Nybegynder
26. december 2001 - 23:06 #1
en ide ville være at kigge på www.razor.dk i hans filsystems artikel! for hvis man kan skrive til en fil kan man osse slette indholdet!

<?php
$fp = fopen(\"fil.txt\",\"w+\");
fclose($fp);
?>

w+ sletter indhold og starter forfra på filen så må den vel bare stoppes undervejs :)
Avatar billede dcoder Nybegynder
26. december 2001 - 23:09 #2
Jeg er ikke helt sikker på om det virker, og om det kan gøres nemmere :) Men det skulle virke

<?php
  if ($slet) {
    $fil = fopen(\"fil.txt\", \"w\");
    while (!feof($fil)) {
      fwrite($fil, \"\");
    }
    fclose($fil);
  }
?>

<form method=\"post\" action=\"index.php\">
<input type=\"hidden\" name=\"slet\" value=\"1\">
<input type=\"submit\" value=\"Slet\">
</form>
Avatar billede dcoder Nybegynder
26. december 2001 - 23:14 #3
thabunny > Er ikke helt sikker, men w og w+ sletter da vel først når der skrives nyt data til filen... Begynder i starten af filen, og sletter/erstatter en linie af gangen... Eller tager jeg helt fejl
Avatar billede dcoder Nybegynder
26. december 2001 - 23:50 #4
Takker for points :)
Avatar billede novellenet.dk Nybegynder
26. december 2001 - 23:53 #5
Se eventuelt:
http://php.net/fopen og
http://php.net/fwrite

dcoder > Der er ingen grund til at lave en while-løkke...
Det er bare spild af tid...
Avatar billede fishman Nybegynder
26. december 2001 - 23:58 #6
Dog er der en lille fejl, den prøver på at skrive til txt filen, hvilket denne ikke kan, men den sletter det hele uanset
Avatar billede dcoder Nybegynder
27. december 2001 - 00:48 #7
novellenet.dk >> Jeg kender ikke så meget til PHP\'s måde at håndtere filer, jeg arbejder sjældent med filsystemet, da det efterhånden er godt forældet, og hører til i DOS tidens programmering :) Så jeg vidste ikke helt om den kun ville slette en enkelt linie uden while løkken, derfor lavede jeg den for at være \"sikker\" :)

fishman >> Kan den ikke skrive til filen??? Lyder underligt, men hvis det virker er det vel fint
Avatar billede novellenet.dk Nybegynder
27. december 2001 - 02:10 #8
dcoder >> Der er skam intet umoderne ved at håndtere filer...
Hvis det for eksempel kun er meget lidt data der skal håndteres, då er en fil ofte lige så hurtig som en database, og man behøver jo heller ikke db-understøttelse på sit webhotel for at håndtere filer, så det er ganske godt at kunne...

Hvis den ikke kan skrive i filen kan det ofte hjælpe at chmod\'e filen 666, men det vil betyde at alle kan skrive til filen, men det kan heldigvis også løses v.h.a. PHP.
http://php.net/chmod
Ellers prøv følgende.
<?
$fil = \"filnavn.txt\";
if(chmod($fil,0666)){
    $file_pointer = fopen($fil,\"w+\");
    fwrite($file_pointer,\"\");
    fclose($file_pointer);
    chmod($fil,0644);
    echo \"Fil: \".$fil.\" er nu tom.\\n\";
}
else
    echo \"Kunne ikke ændre rettigheder for \".$fil.\"\\n\";
?>

Ovenstående er utestet, så jeg kan ikke garantere noget, men du kan jo altid spørge igen...

Mvh. Anders K. Madsen
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