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
 
 » SpiDy 00:49
 » Shark20 00:39
 » adolphik 00:27
 » Piwomir 00:19
 » gigamiki 00:11
 » Pawiano 00:11
 » jenot 00:11
 » DJopek 00:01
 » XepeR 00:00
 » elliot_pl 23:54
 » Pawelec 23:51
 » myszon 23:49
 » Fasola 23:28
 » DYD 23:28
 » biEski 23:24
 » Paweł27 23:20
 » fiskomp 23:16
 » Magnus 23:15
 » wrrr 23:14
 » okobar 23:09

 Dzisiaj przeczytano
 41126 postów,
 wczoraj 25974

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
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-2024, TwojePC.PL