Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> pliki - pomocy!
MiLupo
post 22.11.2003, 00:13:00
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 21.03.2002
Skąd: Krakow

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


problem polega na tym jak zapisac nowa wartosc do pliku na POCZATEK a nie na koniec tak jak to sie zwykle dzieje.

wymyslilem tak:
plik_temp - plik pomocniczy
plik_wl - plik do ktorego ma byc dopisana wartosc na poczatek

1. przepisac plik_wl do plik_temp
2. otworzyc plik fopen(plik_wl, w)
3. zapisac do pliku plik_wl nowa wartosc
4. dopisac do pliku plik_wl zawartosc pliku plik_temp

tylko teraz jak to napisac w php (dopisac do pliku zawartosc innego pliku -tego nie wiem) probowalem przez copy ale to nie dopisuje tylko kasuje i zapisuje od nowa

Jesli ktos moze pomoc to prosze
Go to the top of the page
+Quote Post
menic
post 22.11.2003, 00:47:23
Post #2





Grupa: Zarejestrowani
Postów: 493
Pomógł: 0
Dołączył: 14.06.2003
Skąd: Tomaszów Lubelski/Rzeszów

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


a nie lepiej wrzucic zawartosc calego pliku do tablicy, dodać nowy text funkcja [manual:597efd0b03]array_push[/manual:597efd0b03] potem odwrócic tablice [manual:597efd0b03]array_reverse [/manual:597efd0b03] i ponownie zapisac do pliku


--------------------
Jak masz cos zrobic dobrze...
...To musisz zrobić to sam.

Uchwycić moment...
Go to the top of the page
+Quote Post
adwol
post 22.11.2003, 00:58:41
Post #3





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Szybciej będzie:
1. fopen($plik_temp, 'w')
2. zapisać do pliku plik_temp nową wartość
3. dopisać do pliku plik_temp zawartość pliku plik_wl
4. rename($plik_temp, $plik_wl)

[php:1:d4c895d2fc]<?php
$temp = fopen($plik_temp, 'w');
flock($temp, 2);
fwrite($temp, $nowa_wartosc);
fwrite($temp, file_get_contents($plik_wl)); # to można oczywiście rozwiązać lepiej
fclose($temp);
rename($plik_temp, $plik_wl);
?>[/php:1:d4c895d2fc]
Go to the top of the page
+Quote Post
MiLupo
post 22.11.2003, 01:39:42
Post #4





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 21.03.2002
Skąd: Krakow

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


tak, wszystko dziala. dodalem taylko pare zmian.
[php:1:3a8332cad5]<?php
copy($plik_wl,$plik_temp);

$temp = fopen("$plik_temp", "w");
flock($temp, LOCK_EX);

fwrite($temp,"nowa wartosc");
fwrite($temp, file_get_contents("$plik_wl")); # to można oczywiście rozwiązać lepiej
fclose($temp);
flock($temp, LOCK_UN);
fclose($temp);
# ta czesc po to aby nie tworzyc dwoch tych samych kopi
# po zakonczeniu plik temp sie zeruje
copy($plik_temp,$plik_wl);
$temp = fopen("$plik_temp", "w");
fwrite($temp,"");
flock($temp, LOCK_UN);
fclose($temp);

?>[/php:1:3a8332cad5]

teraz wszystko dziala dzieki
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 22:03