[php] zapis na początek pliku

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Marv
Posty: 1
Rejestracja: sob lis 06, 2004 9:50 pm

[php] zapis na początek pliku

Post autor: Marv »

Jak za pomoca php zrobic taka rzecz:

Do pliku tekstowego dodaje jakis ciag znakow ale chce zeby byl zawsze w pierwszej lini a reszta wczesniejszej zawartosci z pliku *.txt przesuwala się na dol... Tzn. zeby zawsze ostatnia wpisana wartosc byla w pierwszych liniach pliku a starsze wpisy byly dopiero po nim?
Wojciech Kocjan
Zaczyna działać
Zaczyna działać
Posty: 427
Rejestracja: sob gru 14, 2002 10:51 am

Re: [php] zapis na początek pliku

Post autor: Wojciech Kocjan »

Możesz wczytać całą zawartość pliku za pomocą file do tablicy, potem dopisać tą tablicę do twojej 1-elementowej tablicy, no i całość zapisać znowu do pliku.
szejk
Nowy
Nowy
Posty: 31
Rejestracja: pt wrz 17, 2004 1:43 pm
Kontakt:

Re: [php] zapis na początek pliku

Post autor: szejk »

możesz też tak:
[php]
$dodaj = fopen("plik.txt", "a");
$d=file_get_contents ("plik.txt");
fwrite($dodaj, "bklablabla \n".$d);
fclose($dodaj);

[/php]
Vic
Nowy
Nowy
Posty: 171
Rejestracja: sob mar 13, 2004 1:55 pm
Lokalizacja: Warszawa
Kontakt:

Re: [php] zapis na początek pliku

Post autor: Vic »

Hehe... pamiętam jak się nad tym głowiłem chyba dwa dni przy tworzeniu sysu newsów...

Wczytaj do zmiennej zawartość zmienianego pliku [fread()].
teraz nowy wpis "doczep" do starego:

[php]
$nowy_src=$wpis.$zawartosc
[/php]

Całość zapisujesz metodą 'w' (z wyczyszczeniem pliku).
Proste i logiczne.
semix
Posty: 13
Rejestracja: wt paź 26, 2004 9:19 am

Re: [php] zapis na początek pliku

Post autor: semix »

Jak ja by robił coś takiego co ty chcesz zrobić wykorzystał by prostszą funkcje:
np:

[php]<?php
array_reverse
?>[/php] w takim przypadku
np:
w pliczku masz ( blablabla||blablaUSER||blablablaPASS|| )
[php]<?php
$handle = file("pliczek.dat");
$handle = array_reverse($handle);

for($i=0;$i<count($handle);$i++){
$ex = explode("||", $handle[$i]);
echo $handle[0]."<br>";
}
?>[/php]
ale to już poza tematem.
ODPOWIEDZ