Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]usuwanie zawartosci pliku txt
Forum PHP.pl > Forum > Przedszkole
shreker
Witam !
Mam jakiś plik textowy o nazwie powiedzmy plik.txt
Proste pytanie:
Jest wiele porad jak usunąć np konkretne linie, jednak jak z niego usunąć całą zawartość (wyczyścić do zera) ?
pyro
  1. <?php
  2. $plik = 'nazwapliku.txt';
  3. file_put_contents($plik, '');
  4. ?>
marcio
N Ajlatwiej otworzyc plik do edycji i zapisac w nim pusty string smile.gif a jesli konkretna linie to wczytujesz plik do file() i dajesz unset() albo jakos tak to bylo dawno z plikami sie nie bawilem
shreker
DZIĘKI !
Mam tylko jedno pytanie techniczne. Jak mogę przerobić kod "pyro" w ten sposób żeby kod ten wywoływany był za pomocą np przycisku, lub linku. Po naciśnięciu przycisku nastąpi wyczyszczenie wskazanego pliku plik.txt
marcio
  1. <?php
  2.  
  3. if(isset($_GET['nazwa_pliku'])) {
  4.  
  5. $plik = $_GET['nazwa_pliku'];
  6. file_put_contents($plik, '');
  7.  
  8. }
  9. ?>
shreker
Mam cos takiego:
Kod
<FORM>
<input type="checkbox" name="nazwa_pliku" method="get">
<input type="submit" name="nazwa_pliku" value="usun">
</FORM>';
if(isset($_GET['nazwa_pliku'])) {
$plik = plik.txt
$plik = $_GET['nazwa_pliku'];
file_put_contents($plik, '');


ale widze ze robie cos zle :-(
Maxik
Gubisz się:
  1. <form method="get" action="czysc.php">
  2. <input type="text" name="nazwa_pliku">
  3. <input type="submit" value="Wyczyść plik" name="send">
  4. </form>


  1. <?php
  2. if(!empty($_GET['send'])){
  3. if(!empty($_GET['nazwa_pliku']){
  4. $plik = $_GET['nazwa_pliku'];
  5. file_put_contents($plik, '');
  6. } else {
  7. echo "Wpisz nazwę pliku!";
  8. }
  9. } else {
  10. echo "Błąd";
  11. }
  12. ?>

Powinno działać.
shreker
DZIĘKI.
W trzeciej linijce brakowało zamknięcia nawiasu :-)
Nie do końca jednak o to chodziło.
Nie chodzi o wskazanie "jakiegoś pliku" do usunięcia, ale o usunięcie konkretnego pliku o nazwie plik.txt
Wiem że się pogubiłem, ale dzięki za koleżeńską pomoc.
Czy wiecie może jak to zrobić dla konkretnego jednego pliku, tak jak napisałem ?
mike
~shreker zacznij myśleć przy czytaniu gotowców tongue.gif
Przykład podany przez ~pyro w drugim poście jest dla "konkretnego jednego pliku, tak jak napisałeś". Dla pliku nazwapliku.txt.
shreker
Zrobiłem jak w drugim przykładzie :-)
Mam cos takiego:
Kod
<form method="get" action="">
<input type="text" name="nazwa_pliku">
<input type="submit" value="Wyczyść plik" name="send">
</form>
';
if(!empty($_GET['send'])){
if(!empty($_GET['nazwa_pliku'])){
$plik = 'plik.txt';
file_put_contents($plik, '');
} else {
echo "Wpisz nazwę pliku!";
}
} else {
echo "Błąd";
}

I nie działa. Dlaczego questionmark.gif?
mike
Cytat(shreker @ 19.08.2008, 00:17:11 ) *
Zrobiłem jak w drugim przykładzie :-)
Mnie w szkole uczyli żeby nie przepisywać z tablicy bezmyślnie tylko starać się to zrozumieć. Ciebie najwidoczniej tego nie uczyli.
Piszesz, że nie chcesz przekazywać żadnej nazwy tylko wyczyścić jeden konkretny plik. Po co więc pchasz się w ten przykład?

  1. <form method="get" action="">
  2. <input type="submit" value="Wyczyścić plik?" name="clear" />
  3. </form>
  4.  
  5. <?php
  6.  
  7. if (!empty($_GET['clear'])) {
  8. file_put_contents('plik.txt', '');
  9. }
  10.  
  11. ?>
pyro
1. wszystkie te skrypty są mało bezpieczne (no chyba ze czyszczenie po logowaniu itd.)
2. już ci dałem gotowca, który czyści jeden konretny plik tak jak chcesz, o czym wspomniał mike
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.