Komputer Świat Ekspert - Forum: [PHP] Znajdź i usuń całą linię - Komputer Świat Ekspert - Forum

Skocz do zawartości

Strona 1 z 1

[PHP] Znajdź i usuń całą linię

#1 Użytkownik nie jest zalogowany   sssebolll 

  • Nowy Uczestnik
  • Grupa: Czytelnicy
  • Postów 4
  • Rejestracja: 05-październik 11

Napisano 05 październik 2011, 16:17

Witam. Mam coś w stylu 'bazy danych', czyli plik tekstowy z różnymi informacjami. Komplet informacji o jednym zdarzeniu daje jedną linię. Chciałbym zrobić tak, aby po wciśnięciu przycisku PHP znalazło konkretny ciąg znaków (najlepiej wszystkie), który ustalę i usunęło całą linię, w której takie coś znalazł.
Z góry dziękuję :)
0

#2 Użytkownik jest zalogowany   Ferrari 

  • Tajny agent USB
  • Grupa: Moderatorzy
  • Postów 3531
  • Rejestracja: 21-marzec 04

Napisano 05 październik 2011, 20:35

$out = array();
foreach(file('plik.txt') as $linia)
{
  if(strpos($linia, 'wartosc do usuniecia') === false)
  {
    $out[] = $linia;
  }
}
file_put_contents('plik.txt', join(PHP_EOL, $out), LOCK_EX);

Przygoda w Biurowej Dzielnicy - TODA :: Przyszłość sieci Webb i informatyzacja Polski
There is a road to freedom. Its milestones are Obedience, Endeavor, Honesty, Order, Cleanliness, Sobriety, Truthfulness, Sacrifice, and love of the Fatherland.
0

#3 Użytkownik nie jest zalogowany   sssebolll 

  • Nowy Uczestnik
  • Grupa: Czytelnicy
  • Postów 4
  • Rejestracja: 05-październik 11

Napisano 05 październik 2011, 21:35

Dziękuję bardzo za odpowiedź. Jest jednak problem. Przeglądarka zwraca błąd:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /var/www/virtual/abc.pl/test.php on line 7
Kod wygląda mniej więcej tak:
<?php

if (isset($_POST['execute']))
{

$out = array();
foreach(file "plik.txt" as $linia) //To niby ta 7 linia
{
  if(strpos($linia, 'tekst') === false)
  {
    $out[] = $linia;
  }
}
file_put_contents('plik.txt', join(PHP_EOL, $out), LOCK_EX);

}
?>
 
<form action="podglad.php" method="post">
<input type="hidden" name="execute" value="true">
<input type="submit" value="Przycisk">
</form>



Spróbowałem wstawić na początek, że $linia = 0;, bo podobno coś ze zmienną nie tak. Ale problem nadal jest z tą linią.
Znając siebie błąd jest chyba w przycisku, który ma aktywować usunięcie. Byłbym wdzięczny za naprowadzenie chociaż :)

Użytkownik sssebolll edytował ten post 05 październik 2011, 21:36

0

#4 Użytkownik nie jest zalogowany   czychacz 

  • ???
  • Pip
  • Grupa: Czytelnicy
  • Postów 284
  • Rejestracja: 12-kwiecień 08

Napisano 06 październik 2011, 07:57

zamień
foreach(file "plik.txt" as $linia)

na
foreach(file("plik.txt") as $linia)

Athlon 64 X2 5200+ | MSI K9N Neo V3 | KINGSTON DDR2 2x1GB 667 | WD3200AAKS | MSI N9600GT OC 2D512
Athlon 64 3200+ | MSI K9N6SGM-V | KINGSTON DDR2 2x512MB 667 | WD2500KS | Leadtek PX8500GT TDH (256)
0

#5 Użytkownik nie jest zalogowany   sssebolll 

  • Nowy Uczestnik
  • Grupa: Czytelnicy
  • Postów 4
  • Rejestracja: 05-październik 11

Napisano 06 październik 2011, 16:38

Dzięki wielkie! Działa jak należy.
0

Strona 1 z 1


Szybka odpowiedź

  

Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych


Zmień widoczność shoutboxa Shoutbox

emikyou  : (16 kwiecień 2012 - 13:26) @Ferrari: Na PŁ korzystają z "OpenGL SuperBible: Comprehensive Tutorial and Reference" i "OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1"
wtomczak  : (10 kwiecień 2012 - 09:27) masz problem z komputerem napisz na facebooku na stronie WT654, na pewno pomoże
Maciej :)  : (08 kwiecień 2012 - 09:36) A co do reklam, to mi na operze adBlock coś nie służy, szczególnie z postami bota redakcji :( od kiedy go dali, to zaczęło się walić..
Maciej :)  : (08 kwiecień 2012 - 09:35) Hej witam :) no, jak przestałem kupować Eksperta to wzięli i wstrzymali ;| także nie mam tylko numeru pierwszego i ostatniego :p trochę szkoda, parę lat się było...
neo5628  : (05 kwiecień 2012 - 21:57) Help http://forum.ks-ekspert.pl/topic/140746-problem-z-dzwiekiem/ Proszę
PiKey  : (21 marzec 2012 - 18:24) ludzie, pomóżcie :) http://forum.ks-ekspert.pl/topic/140418-jak-dziala-sprawdzanie-wykonania-zadania-na-stronach-typu-doladujse/
PiKey  : (21 marzec 2012 - 18:24) ds
A:-)Brunuś  : (17 marzec 2012 - 19:17) jest tu ktoś? http://forum.ks-ekspert.pl/topic/140400-firewire-obudowa-do-dysku-25-—-200-zlo/
Ferrari  : (16 marzec 2012 - 11:12) Polećcie dobrą książkę do OpenGL albo kurs w sieci :)
lisz55  : (15 marzec 2012 - 21:44) przez ktore reklamy? nie widze zeby jakies nowe byly
Pretender  : (15 marzec 2012 - 18:22) :/
Pretender  : (15 marzec 2012 - 18:22) az sie nie chce czytac tego forum przez te parszywe reklamy...ale dzidostwo zrobili...
yojo2  : (12 marzec 2012 - 13:26) wchodz na forum przez lynxa :P
Ferrari  : (10 marzec 2012 - 21:21) Jak tu nie korzystać z AdBlocka, kiedy Forum Eksperta wywala reklamę na całą stronę?
lisz55  : (09 marzec 2012 - 21:41) siedze i czytam calkiem niezle ale mogl by ktos wytlumaczyc o co chodzi z dark knightem nie widzialem tego filmu
lisz55  : (09 marzec 2012 - 21:40) to moze rozruszam troche czat http://moviesascode.net/
Pretender  : (06 marzec 2012 - 16:43) rozmowy tak jak Enty prowadziły w powieści Tolkiena :P
dawido90  : (05 marzec 2012 - 15:03) to już poprostu przyzwyczajenie
yojo2  : (04 marzec 2012 - 22:25) mailem przestac tu wchodzic, ale stwierdzilem ze skoro i tak zwykle tu tylko wchodze i wychodze, to wszystko jedno :P
Ferrari  : (04 marzec 2012 - 21:16) Już myślałem, że ruch na forum spada zera, a jednak pochodna zmieniła znak :)
Rozszerz pole shoutboxa