![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 2.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam !!
Jezeli plik mam odzielony separatorem |~| i chce pobrac ostatnia czesc z linii... Jest to liczba tak dla sprostowania. Chcialbym by skrypt pobral z pliku najwieksza i dodal o jeden...Wiem jak dodac o jeden lecz nie wiem jak pobrac najwieksza liczbe z pliku i wtedy dodac. Liczba ta pochodzi z ostatniego ciagu... Przyklad: Kod costam3|~|blabla|~|3//chodzi o ta liczbe|~|
costam2|~|blabla|~|2|~| costam1|~|blabla|~|1|~| W przypadku takiego schematu skrypt podczas zapisu odzielilby i pobral najwieksza liczbe z pliku tj. "3" nastepnie dodal o jeden z czego nowa wiadomosc miala by liczbe "4" itd.... Kombinuje ale caly czas wychodzi jeden (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 10.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Mozna tak:
[php:1:22f1b41e14]<?php //czesc odpowidzialna za nadanie liczby porzadkowiej $tab = file( 'includes/dat/news.dat' ); foreach ( $tab as $row ) { $row = explode( "|~|", trim( $row ) ); $lp[] = $row[6]; } arsort( $lp ); //zapis do pliku $lp_max = reset( $lp ) + 1; $data = time( ); $autor = $_SESSION["log"]; $tresc = str_replace( "n", "<br />", $tresc ); $noweDane = "$tytul|~|$tresc|~|$data|~|$autor|~|$dzial|~||~|$lp_maxn"; $plik = fopen( 'includes/dat/news.dat', 'a+' ); flock( $plik, 2 ); fputs( $plik, "$noweDane" ); flock( $plik, 3 ); fclose( $plik ); ?>[/php:1:22f1b41e14] Kilka uwag. Date przechowuj niesformatowaną, lepiej to robić dopiero przy wyświetlaniu wyniku na stronie. Stosowanie $lp nie jest konieczne, zamiast niej możesz równie dobrze stosować numer linii w pliku, jeżeli zastosujesz tryb "a+", czyli kolejna linia jest dopisywana na końcu pliku. Dodatkowo dzięki temu trybowi otwarcia pliku dwukrotnie (tak jak to robiłeś) jet zbyteczne. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 06:18 |