Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapis do pliku...?
Forum PHP.pl > Forum > PHP
Phivko
Nie znam sie na php ale sciagnalem pewien skrypt i chcem go zmienic tak aby dane zapisywane z forumlarza do pliku zapisywaly sie na poczatku a nie na koncu pliku tekstowego. jakich komend sie do tego uzywa 8O ?
mazy
w pliku nie da rady zapisac czegoś na początku za to możesz zapisać na końcu a pętlę zacząć od końca - efekt ten sam biggrin.gif
KaMeLeOn
Cytat
w pliku nie da rady zapisac czegoś na początku [...]

Akurat...
Nie ma bezpośredniej metody, ale zapisać na początku można...
Phivko
Ale jak? mozesz mi podac jakis skrypt ktory by zapisywal jakies wiadomosci z formularza na poczatku pliku?
KaMeLeOn
Szukaj było 1000000 razy... aaevil.gif
spenalzo
[php:1:e3d01758c0]<?php
$d=implode("",file("plik.txt"));
$f=fopen("plik.txt","w");
$dane="cośtam".$d;
fwrite($f,$dane);
fclose($f);
?>[/php:1:e3d01758c0]
mazy
ale chodziło mi o bezpośrednie zapisanie tongue.gif
spenalzo
Cytat
ale chodziło mi o bezpośrednie zapisanie tongue.gif

Hmm, to da się zrobić:
[php:1:00451f4f02]<?php
function zapisz_do_pliku($plik, $dane)
{
$d=implode("", file($plik));
$f=fopen($plik, "w");
fwrite($f, $dane.$d);
fclose($f);
return(TRUE);
}
?>[/php:1:00451f4f02]
I wywołujesz:
[php:1:00451f4f02]<? zapisz_do_pliku("plik.txt","dane do zapisu i $zmienna"); ?>[/php:1:00451f4f02]
Jabol
Cytat
[php:1:ba6395004c]
$d=implode("",file("plik.txt"));
?>[/php:1:ba6395004c]
Ze względów wydajnościowych proponowałbym jednak używanie[php:1:ba6395004c]<?php
$fp=fopen('plik', 'r');
$dane=fread($fp, filesize('plik'));
//lub
$dane=file_get_contents('plik');
?>[/php:1:ba6395004c]
KaMeLeOn
[php:1:201c395030]<?php
$d = implode('', file("plik.txt"));
?>[/php:1:201c395030]
Ja jednak polecam tę metodę ładowania zawartości pliku...
To jedna z najszybszych...
mazy
dobrze mówicie biggrin.gif ale chyba i tak najlepiej jest dopisać na końcu a później odwrucic tablicę.
Jabol
Cytat
[php:1:5fbb19f04e]<?php
$d = implode('', file("plik.txt"));
?>[/php:1:5fbb19f04e]
Ja jednak polecam tę metodę ładowania zawartości pliku...
To jedna z najszybszych...
hmmm...
Czytałem ostatnio artykuł na ten temat. file() robi to samo co metody, które pokazałem tylko, że na dodatek rozbija je na tablice, czyli musi ją najpierw utworzyć, potem wypęłnić, a potem na końcu jeszcze połączyć w stringa!. A przy moich metodach po prostu otwierany jest plik i czytany i to koniec!
Cudi
Metoda którą podał Jabol jest dużo szybsza. A zapisać na początku można bezproblemowo, wystarczy skorzystać z funkcji rewind();
Phivko
dzieki za wszystkie te skrypty smile.gif
zostawilem jednak zapis do pliku tak jak byl - dopisywanie na dole
ale do odczytania uzylem funkcji array_reverse :idea: (polecam tan sposob)
dzieki za ta rade scanner
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.