![]() |
![]() ![]() |
![]() |
-Beterof- |
![]()
Post
#1
|
Goście ![]() |
Piszę skrypt newsów i mam pytanie. Jak zrobić coś takiego, żeby usuwało mi wpis z jednej linii pliku tekstowego ale tylko z jednej a reszta żeby nie była usuwana??
|
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
najprosciej:
1)wczyutjesz plik do tablicy - file() 2) usuwasz ządaną linie - unset() 3)zapisujesz tablice spowrotem do pliku - file_put_contents() implode() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 27 Dołączył: 13.07.2005 Skąd: Jarocin Ostrzeżenie: (0%) ![]() ![]() |
@nospor a mam pytanie. nie mam teraz dostepu do serwera a zanim bede mogl to sprawdzic to zdaze zapomnieć.
A co jeśli plik będzie dużych rozmiarów? w pkcie pierwszym wrzucasz do tablicy całą zawartość pliku? Jeśli tak to czy przy dużych plikach nie będzie to powolna operacja? bo z tego co mi wiadomo operacje na plikach zajmują troche czasu przez to mielenie na dysku. Sory za głupie pytanie ale zapomnę sprawdzić. --- pozdrawiam |
|
|
-Gość- |
![]()
Post
#4
|
Goście ![]() |
Ok użyję file() ale co dalej po tym. Jak rozbić to na linie? używając explode() czy coś innego ?
|
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@xbigos dlatego napisalem ze to najprosciej a nie najoptymalniej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
gosc: zajrzyj do manual i zobacz co robi file() a nie sie glupio pytasz. Troche szacunku dla czasu ludzi, ktorzy staraja ci sie pomoc, nie zaszkodzi. Dostales w punktach co masz zrobic, do kazdego punktu dostales funkcje jakich uzyc, a ty nawet nie zajrzales do manuala by sprawdzic co tak naprawde te funkcje robią. A jakbys zajrzal to bys sie nie pytal jak rozbic plik na linie... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 27 Dołączył: 13.07.2005 Skąd: Jarocin Ostrzeżenie: (0%) ![]() ![]() |
@nospor a jak jest optymalniej? moze mi sie kiedyś to przyda. czy istnieje jakas funkcja zapisu stringa do pliku a nastepnie przejscie kursora do nastepnej linii? bo jesli takowa istnieje to z powrotem tez tak powinno byc:D
|
|
|
-Gość- |
![]()
Post
#7
|
Goście ![]() |
Wiem co robi file() tylko jak później usunąć wybraną linię o to mi chodzi.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 27 Dołączył: 13.07.2005 Skąd: Jarocin Ostrzeżenie: (0%) ![]() ![]() |
gosc: patrz punkt 2 wypowiedzi nospora. A poza tym masz dokladny algorytm:) wiec nie wiem czego jeszcze nie wiesz.
|
|
|
-Gość- |
![]()
Post
#9
|
Goście ![]() |
Ok dzięki. Dzisiaj w ogóle nie myślę (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@xbigos:
1) wczytujesz plik linia po linii - fopen, fread 2) zapisujesz plik linia po linii do pliku tymczasowego fopen, fwrite 3) w kroku drugim nie zapisujesz tylko linijkim ktora chcesz usunac 4) usuwasz plik oryginalny a plik tymczasowy zmieniasz nazwe na oryginalny Innej metody raczej nie ma. O ile po pliku mozesz skakac (fseek) o tyle nie mozesz bezposrednio w nim usuwac. Cytat Wiem co robi file() tylko jak później usunąć wybraną linię o to mi chodzi. No wybacz, ale przypomne ci oco sie pytales:Cytat Ok użyję file() ale co dalej po tym. Jak rozbić to na linie? używając explode() czy coś innego ?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 27 Dołączył: 13.07.2005 Skąd: Jarocin Ostrzeżenie: (0%) ![]() ![]() |
@nospor
dzieki, ale chyba sobie te operacje na plikach podaruję. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 14:32 |