Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » piszczyk 01:31
 » GULIwer 01:29
 » metacom 01:20
 » NWN 01:20
 » Guli 01:19
 » elliot_pl 00:58
 » pwil2 00:48
 » abes99 00:36
 » Wedrowiec 00:34
 » Ament 00:05
 » ulan 00:04
 » Kilgor 23:45
 » Bonifacyz 23:17
 » malyy 23:05
 » JE Jacaw 23:03
 » Tomasz 22:58
 » Ramen 22:57
 » Zibi 22:55
 » DJopek 22:54
 » rooter666 22:51

 Dzisiaj przeczytano
 5330 postów,
 wczoraj 117075

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2026
A R C H I W A L N A   W I A D O M O Ś Ć
    

[PHP] Jak skasować określony wpis w pliku ? , grattz 31/05/08 15:39
mam plik admin.php który includuje w kodzie.
zapisuje do niego informacje w takiej formie:
$post[53]='1212087361';
$post[43]='1212087425';
$post[38]='1212087427';
$post[50]='1212087480';

I teraz w wypadku gdy znowu bede chciał zapisać zmienną $post[53] - ALE Z INNĄ WARTOŚCIĄ chce nadpisać ten wpis albo przed dodaniem go skasować.
Jak to zrobić ? Jak skasować określoną linię z kodu zincludowanego pliku.

...poprzednia |1|2|3|4| następna...

  1. otwierasz plik w notatniku i edytujesz odpowiednia linie , Grocal 31/05/08 15:44
    Powiedz lepiej, co tak naprawde chcesz zrobic, bo jak widze ten kawalek Twojego pomyslu, to nie wiem czy smiac sie czy plakac. Kto edytuje ten plik? Skrypt php? Po co to robi? Dlaczego w takim formacie?

    [ http://rtfm.killfile.pl/#cel ]

    Na pewno, na razie, w ogóle...
    Naprawdę, naprzeciwko, stąd...
    Ortografia nie gryzie!

    1. Mam forum. Każdy użytkownik ma swój plik w którym zapisują sie , grattz 31/05/08 15:51
      informacje do których tematów wchodził i kiedy. Potem to służy do wyświetlania tylko tematów w których brał udział.
      Problem w tym ze gdy ktoś wchodzi do tematu wielokrotnie to mam w takim pliku dublujące sie wpisy. Mi potrzebny jest tylko ten ostatni.

      ...poprzednia |1|2|3|4| następna...

      1. i od razu lepiej , Grocal 31/05/08 16:11
        Tak wiec jesli juz chcesz sie trzymac zapisywania do pliku (osobiscie proponowalbym jednak zapis do bazy danych, chociazby do SQLite), to proponuje troche uproscic sprawe i zastosowac serializacje danych [ http://pl2.php.net/serialize ]. Stworz strukture w ktorej bedziesz dla danego usera trzymal dane, np. taka:

        array(4) {
        [53]=>
        string(10) "1212087361"
        [54]=>
        string(10) "1212087367"
        [55]=>
        string(10) "1212087390"
        [60]=>
        string(10) "1212087410"
        }

        Potem to serializujesz i zapisujesz do pliku. Jesli bedziesz chcial zmienic, to odczytujesz caly plik, deserializujesz (unserialize()) i masz gotowa zmienna na ktorej mozesz dzialac.

        Na pewno, na razie, w ogóle...
        Naprawdę, naprzeciwko, stąd...
        Ortografia nie gryzie!

        1. W końcu zrobiłem to w SQL :] , grattz 31/05/08 22:27
          łatwiej i przynajmniej rozumiem.

          ...poprzednia |1|2|3|4| następna...

  2. pobrać zawartośc, , Wedrowiec 31/05/08 15:45
    podmienić w niej poszukiwany string, wpisać nową zawartość do pliku (nadpisując go). str_replace, wyrażenia regularne.
    Jeżeli każdy wpis to oddzielna linijka możesz zastosować strpos.

    "Widziałem podręczniki
    Gdzie jest czarno na białym
    Że jesteście po**bani"

    1. hmm , akustyk 31/05/08 23:00
      nie no... czemu tak?


      $REPLACE = $numer_posta do zmiany;
      $CONTENT = $tresc_nowego_posta;
      $DB = $nazwa_pliku_uzytkownika
      $file = file($DB);
      $I = count($file);
      for ($i=$I-1; $i>=0; $i--){
      $line = $file[$i];
      if (substr($line, 6, 2) == $REPLACE){
      $file[$i] = substr($line, 0, 11) . $CONTENT . "\';";
      break;
      };
      if ($i) exit("Blednie okreslony numer posta");
      };
      $f = fopen($DB, "w");
      fwrite($f, implode('\n', $file));
      fclose($f);

      http://akustyk.magma-net.pl

      1. Czemu na swojej stronie zaczynasz zdania , grattz 31/05/08 23:21
        od małej litery? ( tak z ciekawości)

        ...poprzednia |1|2|3|4| następna...

    
All rights reserved ® Copyright and Design 2001-2026, TwojePC.PL