Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Linie, dodawanie...
Robert
post
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)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Nitro
post
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.
Go to the top of the page
+Quote Post

Posty w temacie


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: 7.10.2025 - 06:18