Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Usuwanie treści PHP
Dariusz_512
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.04.2007

Ostrzeżenie: (0%)
-----


Witam

Mam bazę danych w pliku TXT.

Otwieram

  1. <?php
  2. $nazwa = 'db.txt';
  3. $plik = fopen($nazwa,"r");
  4. $zmienne = fread($plik,filesize($nazwa));
  5. ?>


Wyświetlam i edytuje. To co powpisuje do formularzy trafia na sito funkcji kilku funkcji implode.
Powstaje w końcu zmienna $dozapisu której treść ma nadpisać dotychczasowe dane w bazie. Jak mam je skasować? Przydałby się tryb otwarcia pliku tylko do nadpisania (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Dzięki z góry.

Ten post edytował Dariusz_512 6.01.2009, 17:49:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




O ile dobrze Cię zrozumiałem to otwórz plik w trybie 'w+' zamiast 'r'. Spowoduje to otwarcie pliku do zapisu z wcześniejszym skasowaniem aktualnej zawartości.
Go to the top of the page
+Quote Post
Skie
post
Post #3





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

Ostrzeżenie: (0%)
-----


Cytat(phpion @ 6.01.2009, 17:50:25 ) *
O ile dobrze Cię zrozumiałem to otwórz plik w trybie 'w+' zamiast 'r'. Spowoduje to otwarcie pliku do zapisu z wcześniejszym skasowaniem aktualnej zawartości.


Z tego co pamiętam to takie otwarcie pliku rzeczywiście, skasuje zawartość, ale NIE zapamięta zawartości. Zrobiłbym to na Twoim miejscu tak:

1. Otworzył plik db.txt w trybie 'a+'
2. Pobrał zawartość tak jak to teraz robisz, aż będziesz mieć tą zmienną $dozapisu
3. za pomocą funkcji ftruncate() wyczyścił otwierany plik.
4. A na koniec zapisał $dozapisu za pomocą fwrite() i zamknął potem plik fclose()

To tyle (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Skie 6.01.2009, 18:01:08
Go to the top of the page
+Quote Post
_Martin_
post
Post #4





Grupa: Zarejestrowani
Postów: 352
Pomógł: 9
Dołączył: 16.09.2005
Skąd: Rybnik

Ostrzeżenie: (0%)
-----


Może to ci pomoże (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Kod
Lista możliwych trybów dla fopen()  używając tryb     tryb      Opis
'r'     Otwiera tylko do odczytu; umieszcza wskaźnik pliku na jego początku.
'r+'     Otwiera do odczytu i zapisu; umieszcza wskaźnik pliku na jego początku.
'w'     Otwiera tylko do zapisu; umieszcza wskaźnik pliku na jego początku i obcina plik do zerowej długości. Jeśli plik nie istnieje to próbuje go utworzyć.
'w+'     Otwiera do odczytu i zapisu; umieszcza wskaźnik pliku na jego początku i obcina plik do zerowej długości. Jeśli plik nie istnieje to próbuje go utworzyć.
'a'     Otwiera tylko do zapisu; umieszcza wskaźnik pliku na jego końcu. Jeśli plik nie istnieje to próbuje go utworzyć.
'a+'     Otwiera do odczytu i zapisu; umieszcza wskaźnik pliku na jego końcu. Jeśli plik nie istnieje to próbuje go utworzyć.
'x'     Tworzy i otwiera plik tylko do zapisu; umieszcza wskaźnik pliku na jego początku. Jeśli plik juz istnieje, wywołanie fopen() nie powiedzie się, zwróci FALSE i wygeneruje błąd na poziomie E_WARNING. Jeśli plik nie istnieje, spróbuje go utworzyć. To jest równoważne z określeniem flag O_EXCL|O_CREAT stosowanym w wywołaniu systemowym open(2).
'x+'     Tworzy i otwiera plik odczytu i zapisu; umieszcza wskaźnik pliku na jego początku. Jeśli plik juz istnieje, wywołanie fopen() nie powiedzie się, zwróci FALSE i wygeneruje błąd na poziomie E_WARNING. Jeśli plik nie istnieje, spróbuje go utworzyć. To jest równoważne z okresleniem flag O_EXCL|O_CREAT stosowanym w wywołaniu systemowym open(2).
Go to the top of the page
+Quote Post
Dariusz_512
post
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.04.2007

Ostrzeżenie: (0%)
-----


Dzięki Panowie. Obu należy się plus, choć wybrałem tą drugą metodę - lepiej dostosowaną do moich skryptów (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Mój mózg się przeliczył szukając jedynie słów z rodziny "nadpisanie". Wstyd się przyznać, ale czytałem tą tabelkę pobieżnie...

Działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 17:51