php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.07.2010, 19:13  
Benutzer
 
Registriert seit: 06.07.2010
Beiträge: 74
PHP-Kenntnisse:
Anfänger
UdoDirk ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] Suche in text-datei ein Array und lösche es

Hallo,

ich suche einen Skripteil, der dazu dienen soll, in einer Text-Datenbank ein bestimmtes Array anhand des ersten Eintrages zu identifizieren und dieses dann zu löschen.

Danke sehr, wenn mir jemand den Tipp geben kann, mit welcher Funktion das funktionieren kann oder vielleicht gleich das Skript für mich hat.

Öffne die Datei, suche nach dem Array in welcher auf Position eins der Begriff "???" vorhanden ist - lösche diesen Array.

Öffne, suche, finde, gib aus - das bekomme ich hin - wie heisst aber bitte der Schnipsel, welcher mir fehlt, wonach eben genau diese eine Zeile vollständig gelöscht werden soll - kann mir da jemand helfen bitte?

PHP-Code:
<?php
$vorname 
$_POST["vorname"];
$variable file("uebung.txt");  
$suche = array();
foreach (
$variable as $zeile

$term explode("|"$zeile);
array_push ($suche$term[0],$term[1],$term[2]); 
if ( 
$term[0]==$vorname )
{              
$nachname $term[1];
$plz $term[2];
echo 
$vorname;
echo 
$nachname;
echo 
$plz;
exit;
}

?>
Wenn es irgendwie geht, würde ich gern ein bisschen auf diesem Skript aufbauen.

Die "uebung.txt" ist vollgestopft mit dreiteiligen Arrays und jeweils einem Zeilenumbruch am Ende - also dieses Skript jedenfalls arbeitet, wie es soll - hat jemand für mich den passenden Befehl, der zum Löschen des selektierten Arrays verwendet werden muss?

Danke schonmal.
UdoDirk ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.07.2010, 19:16  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

In Dateien kannst du im Normalfall nicht wahlfrei „löschen“ - sondern du musst die Datei neu schreiben, und dabei das, was gelöscht werden soll, weglassen.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 16.07.2010, 19:25  
Benutzer
 
Registriert seit: 06.07.2010
Beiträge: 74
PHP-Kenntnisse:
Anfänger
UdoDirk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
In Dateien kannst du im Normalfall nicht wahlfrei „löschen“ - sondern du musst die Datei neu schreiben, und dabei das, was gelöscht werden soll, weglassen.
Gibt es da nicht eine Funktion, die besagt, es möge der letzte Teil eines bestimmten Arrays ausgegeben und dabei gleich gelöscht werden - könnte man vielleicht solange durchlaufen lassen, bis der Array darüber vollständig gelöscht wäre.?

Kann man möglicherweise den ersten oder letzten Array einer Text-Datenbank löschen, wonach man vorher die Text-Datenbank sortieren lassen könnte, dass der gewünschte Array an erste bzw. letzte Position verschoben wird?

Nur mal so kurz darüber nachgedacht - als Newbie fehlt mir da freilich der exakte Durchblick.
UdoDirk ist offline  
Alt 16.07.2010, 19:35  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Dass dich dieses Gebastel schnell vor Probleme stellen wird, wurde dir ja hier schon prophezeit: http://www.php.de/php-einsteiger/695...n-loesung.html
(Dass diese Probleme nun nicht unbedingt systematischer Natur für das Vorhaben an sich sind, sondern eher noch in der Unerfahrenheit liegen, mag zwar sein ... aber im großen und ganzen stimmte die Prophezeihung doch.)

Zitat:
Zitat von UdoDirk Beitrag anzeigen
Gibt es da nicht eine Funktion, die besagt, es möge der letzte Teil eines bestimmten Arrays ausgegeben und dabei gleich gelöscht werden - könnte man vielleicht solange durchlaufen lassen, bis der Array darüber vollständig gelöscht wäre.?
Klar kannst du beim Durchlaufen eines Arrays bestimmte Einträge überspringen oder auch aus dem Array löschen.
Aber das ändert nichts daran, dass die Datei mit diesen veränderten Daten neu schreiben musst, wenn du diese Änderung auch permanent halten willst.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 16.07.2010, 20:05  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
- habe keine Ahnung wie - Hilfe bitte.
Deine Befindlichkeiten gehören nicht in den Titel.


[MOD: Titel geändert]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 16.07.2010, 20:57  
Benutzer
 
Registriert seit: 06.07.2010
Beiträge: 74
PHP-Kenntnisse:
Anfänger
UdoDirk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Dass dich dieses Gebastel schnell vor Probleme stellen wird, wurde dir ja hier schon prophezeit: http://www.php.de/php-einsteiger/695...n-loesung.html
(Dass diese Probleme nun nicht unbedingt systematischer Natur für das Vorhaben an sich sind, sondern eher noch in der Unerfahrenheit liegen, mag zwar sein ... aber im großen und ganzen stimmte die Prophezeihung doch.)


Klar kannst du beim Durchlaufen eines Arrays bestimmte Einträge überspringen oder auch aus dem Array löschen.
Aber das ändert nichts daran, dass die Datei mit diesen veränderten Daten neu schreiben musst, wenn du diese Änderung auch permanent halten willst.
Gut, dann müssten die Anweisungen in etwa lauten, Öffne die Datei, übergib die Datei, durchsuche die Datei und lösche den Eintrag und anschließend schreibe die Datei wieder neu?

Muss ich mal danach suchen - wollte mit unset rangehen - klappt aber noch nicht - hat mir gleich die ganze Datei weggeblasen.

Eigentlich wollte ich ja nur den Array löschen, damit ich ihn durch einen veränderten ersetzen kann.

Da ich immer noch in der Entwicklungsphase stecke, ist noch etwas Zeit für Änderungen - wahrscheinlich wird es einfacher sein, wenn man einen Array über eine Bezeichnung direkt ansprechen kann, dann sollte man diesen doch auch direkt löschen können ohne die Text-Datenbank neu schreiben zu müssen, oder?

Meine jetzt in etwa sowas wie:

PHP-Code:
<?php
$irgendwas 
= array("dies","das","jenes");
?>
Das müsste doch dann nach Öffnung der Datei über

PHP-Code:
<?php
unset ($irgendwas);
?>
möglich sein, oder bin ich jetzt schon vollkommen verwirrt?

Ohje, da hab ich mir ja was vorgenommen, aber auf jeden Fall schonmal danke für den Denkanstoß.

Will ich es so lassen, wie ich es bis jetzt behandelt habe, dann muss ich also die alte Textdatenbank öffnen, und zeilenweise in einen Array schreiben - und wenn der Array, der als nächstes dran ist, den gesuchten Begriff enthält, was das Suchwort für die Löschung des Arrays sein soll, dann darf dieses Array nicht mit in das Array zwischengelagert werden - danach wird die Datei, welche nun das Array nicht mehr enthält, welches den Suchkriterien entsprach, aus dem Array heraus wieder zusammengesetzt - die neue Datei beinhaltet also nicht mehr den zu löschenden Datensatz - ja, und ein neuer Datensatz kann ja jeder Zeit wieder eingefügt werden.

Wow, hört sich zwar kompliziert an - aber weil ich vorhabe den zu löschenden Datensatz über ein Auswahlmenü zu bestimmen, kann ich auf bestimmte Kontrollmechanismen verzichten, was Groß-, Klein- oder sonstige Schreibweise betrifft.

Gut, habe es geschafft, die Textdatei zeilenweise auszulesen, ein Filterkriterium einzusetzen und nun die restlichen Datensätze als Unterarray in ein großes Array zu übertragen - dieses muss ich jetzt offensichtlich wieder auseinandernehmen und damit die Text-Datenbank neu schreiben - bis dahin erstmal vielen Dank für die Hinweise - wenn ich es nicht packe, dann melde ich mich nochmal.

Geändert von UdoDirk (17.07.2010 um 19:48 Uhr).
UdoDirk ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Datei erzeugen -&gt; Text schreiben -&gt; in .htm Datei speichern -&gt; Link ausgeb Nokes PHP Tipps 2010 3 16.07.2010 21:34
Feed in Datenbank eintragen (Formate: json, php serialized, xml) high_five Datenbanken 5 17.06.2010 03:04
[Erledigt] Sortierung mehrerer Arrays philosapiens PHP Tipps 2010 16 08.06.2010 05:22
CSS Layout mit 4 Buttons nebeneinander!! Rambo02 HTML, Usability und Barrierefreiheit 7 27.07.2009 15:33
Array umwandeln von zwei zu mehrdimensional erselbst PHP Tipps 2009 6 02.04.2009 23:30
Textfelder Array in Datenbank schreiben raa PHP Tipps 2009 16 14.03.2009 21:41
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
JavaScript/PHP: qooxdoo 0.7.1 - Teil 1 : Eine Einführung Zergling-new Tutorials 6 25.01.2008 10:41
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
[Erledigt] durch Klick auf Text anderen Text einblenden HTML, Usability und Barrierefreiheit 3 03.07.2005 14:41
[Erledigt] DIV´s wollen nicht wie ich das will :-) HTML, Usability und Barrierefreiheit 22 28.03.2005 18:36
Problem Suche Array das nur den text in Variable ließt ... PHP Tipps 2005 2 09.01.2005 11:58
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
txt-Datei erstellen d-81 PHP Tipps 2004 12 11.08.2004 20:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php suche in dateien, http://www.php.de/php-einsteiger/69794-erledigt-suche-text-datei-ein-array-und-loesche-es.html, aktuelle zeile im array löschen, php text aus arry löschen, php textdatei suchen, array aus textdatei löschen, php text array leeren, txt datei nach text durchsuchen und zeilen löschen, php textdateien als array inhalte löschen, php datei in array und zeile löschen, php suchen in einer datei, php suchen in datei und löschen, im array nach date suchen, php suche in datei, array in datei löschen, in array nach einem row suchen in php, php string in datei finden und ganze zeile löschen, php teil einer textdatei löschen, suche in text php, suche aus einer textdatei mit array

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:08 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum