php.de

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

 
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 4,00 durchschnittlich.
Alt 30.10.2008, 16:54  
Neuer Benutzer
 
Registriert seit: 30.10.2008
Beiträge: 8
VinManWin befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] über URL bestimmte Zeile einer txt löschen!

(hoffentlich bin ich richtig hier)
Hallo Leute,
bin neu hier und mit php auch noch nicht so lange beschäftigt.

Ich bastle grad eine Seite für eine Modifikation(Mod) zu einem PC-Spiel, diese besteht aus 3 Teilen: Besucherseite(für alle die sich für die Mod und ihrem Verlauf interessieren), Mitgliederseite(für die Mitglieder, der Mod, welche die Mod erstellen), Adminseite(Controol-Center für den Admin der gesamten Seite, also ich).
Ich arbeite dazu mit *.txt Dateien als Datenbanken(Gästebuch, Bugreport, Aufgaben, Termine), da das alles sehr aufwändig wäre sie jedes mal von der Webspace zu laden, zu ändern und wieder hochzuladen, will ich das über die Adminseite steuern. Dazu gehört auch das löschen von Zeilen aus der Datenbank diese fangen jedes Mal gleich an:
PHP-Code:
1|...
2|... 
Also beinhaltet die erste Spalte(Spalten getrennt durch "|") immer die ID-der Zeile.
Außerdem habe ich eine PHP-Datei(delet.php, die die Befehle zum Löschen der Zeilen der txt enthalten soll.

Worauf ich hinaus will ist:
Ich will über eine URL bestimmte Zeile einer txt löschen.
z.B:
delete.php?dat=test.txt?id=2

sollte aus der Datei test.txt die Zeile mit der ID 3 löschen.
Aus
PHP-Code:
1|Inhalt
2
|Inhalt
3
|Inhalt 
mach
PHP-Code:
1|Inhalt

3
|Inhalt 
Ich hoffe ihr versteht mich richtig, aber auf jeden Fall
vielen Dank schonmal

Geändert von VinManWin (31.10.2008 um 01:02 Uhr).
VinManWin ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 30.10.2008, 17:37  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Du liest die Datei mit file('datei.txt') in einen array, killst das gewünschte Array-Element, und schreibst die Datei dann wieder zurück.
Bei Mehrbenutzerbetrieb sollte man die Datei wohl locken um inkonsistente Daten zu vermeiden.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline  
Alt 30.10.2008, 17:47  
Neuer Benutzer
 
Registriert seit: 30.10.2008
Beiträge: 8
VinManWin befindet sich auf einem aufstrebenden Ast
Standard

Danke!
Im prinzip hab ichs verstanden, habs auch so mal probiert aber irgendwie hats nicht funktioniert und unnötig kompliziert wars obendrein auch.
Hätte jemand Zeit mir kurz delete.php auzuschreiben.

(Der Folgende Post bezieht sich darauf was hier einmal stand)

Geändert von VinManWin (30.10.2008 um 18:03 Uhr).
VinManWin ist offline  
Alt 30.10.2008, 17:58  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von VinManWin Beitrag anzeigen
Das heißt es ist nicht mal mein Versuch es ist aus einem anderem Forum.
Sind wir hier bei Wünsch dir was? Wende dich doch an das Forum wo du das her hast...
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 30.10.2008, 18:01  
Neuer Benutzer
 
Registriert seit: 30.10.2008
Beiträge: 8
VinManWin befindet sich auf einem aufstrebenden Ast
Standard

okay sorry, hab ich nicht durchdacht. Ich probiers noch mal neu und Poste hier sobald es keinen erfolg birgt.
Ist das so Okay?
VinManWin ist offline  
Alt 30.10.2008, 18:18  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Das Problem wurde hier neulich schon mal erörtert.
http://www.php.de/php-einsteiger/481...-loeschen.html
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline  
Alt 30.10.2008, 21:46  
Neuer Benutzer
 
Registriert seit: 30.10.2008
Beiträge: 8
VinManWin befindet sich auf einem aufstrebenden Ast
Standard

Ich habs versucht, da steckt etwas aus dem Thread und etwas aus den tiefen weiten des Webs drin:
PHP-Code:
<html>
 <head>
  <title>Delet</title>
 </head>

 <body>
  <?php

   $var1 
$_GET['dat'];
   
$var2 $_GET['id'];

   
$txtfile($var1);

    if(
FALSE !== ($index=array_search($var2,$txt)))
    {
     unset(
$txt[$index]);
    } 
  
?>

 </body>
</html>
Keine Fehlermeldung, aber die test.txt ist unversehrt! Und ich finde nichts auffälliges!
Allerdings: Wäre es möglich das der Punkt im URL all das auslöst?
Aufgerufen über: ".../delete.php?dat=test.txt&id=2"
Danke schonmal!

Nebenfrage: Kann man die Zeile eigentlich auch per Zeilennummer aufrufen?

Geändert von VinManWin (30.10.2008 um 23:01 Uhr).
VinManWin ist offline  
Alt 30.10.2008, 23:03  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Mal eben so, ohne dass ich jetzt Lust habe das zu testen - Tippfehler musst du selbst rausbügeln:

PHP-Code:
$filename 'datei.txt';

$loesch = (int) $_GET['zeile']; // enthält die Zeilennummer 0,1,2,3 ...

$datenfile($filename);
unset (
$daten[$loesch]); 

$fp fopen($filename'w');
foreach (
$daten as $zeile) {
   
fputs($fp$zeile);
}

fclose($fp); 
Wichtig: Die erste Zeilennummer ist die Zeile 0, die zweite die Zeile 1 usw.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?

Geändert von Wolla (31.10.2008 um 01:22 Uhr). Grund: Fehler im Code
Wolla ist offline  
Alt 30.10.2008, 23:46  
Neuer Benutzer
 
Registriert seit: 30.10.2008
Beiträge: 8
VinManWin befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank! Hat geklappt.
Nachdem ich "$zeilen" zu "$daten" geändert hab.
Ansonsten hab ich hier und da noch was geändert und hinzugefügt:
PHP-Code:
  <?php
   $filename 
$_GET['file'];

   
$loesch = (int) $_GET['row']; // enthält die Zeilennummer 0,1,2,3 ...

   
$daten file($filename);
   unset(
$daten[$loesch]); 

   
$fp fopen($filename'w');
   foreach (
$daten as $zeile)
   {
    
fputs($fp$zeile);
   }

   
fclose($fp);  
 
?>
Allerdings ist das Thema immer noch nicht erledigt:
Wie kann ich die entsprechende Zeile nicht ganz löschen sondern ein Absatz übrig lassen? Also so wie ichs im ersten Post beschrieben hab.
VinManWin ist offline  
Alt 31.10.2008, 01:24  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Ich habs in meinem Code auch verbessert, damit nicht noch wer drüber stolpert.

Du kannst diese Zeile:
unset($daten[$loesch]);
ersetzen durch:
$daten[$loesch] = "Hier stand mal was anderes.";

z.B.
$daten[$loesch] = "\n";
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla 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] Leere Zeile in csv löschen... solvero PHP Tipps 2008 2 04.10.2008 11:05
Erste Zeile aus Datenbank löschen [molsch] PHP Tipps 2008 1 21.09.2008 22:53
[Erledigt] Zeile aus Texdatei löschen PEcman PHP Tipps 2008 9 09.07.2008 17:32
[Erledigt] Text-Datei Zeile Löschen ! 7Style PHP Tipps 2008 6 30.06.2008 12:30
in textdatei (.txt) einzelne zeile löschen via php niffi PHP Tipps 2006 7 03.07.2006 18:10
$_POST Daten löschen ohne über einen Link zu gehen Blank PHP Tipps 2006 10 29.05.2006 17:00
Teil einer Zeile einer Textdatei löschen Astron PHP Tipps 2006 34 10.05.2006 08:46
[Erledigt] Problem mit dem Füllen einer Tabelle über Formular PHP Tipps 2006 18 10.01.2006 12:51
hilfe: löschen einer zeile nach bestimmter zeit Datenbanken 9 29.10.2005 21:51
eine zeile in meiner tabelle in der DB löschen GrU3nL!nG Datenbanken 3 13.07.2005 12:57
[Erledigt] txt datei zeile $i löschen ? PHP Tipps 2005 2 21.05.2005 12:11
Dateien über MySQL löschen Charly Shop Sui PHP Tipps 2005 4 06.05.2005 15:42
zeile löschen.. PHP Tipps 2005 2 26.01.2005 19:01
[Erledigt] Zeile löschen mit Befehl in PHP Datei Datenbanken 2 01.08.2004 17:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php per url daten löschen, alle txt dateien auf einmal bestimmte zeilen löschen, php urls aus textdatei lesen und löschen, per php url zeile abändern, url zeile ändern php codeschnipsel, php textdatei bestimmte zeile löschen, urls aus text entfernen php, zeile zurück url, php txt file zeile löschen, zeile aus datei löschen per php, bestimmte verläufe im icq löschen, php code um aus .txt datei einzelne daten zu löschen / ändern, per url db zeilen löschen, bestimmter inhalt in url php, zeile 2253, .txt gewisse zeilen löschen, nicht gewünschte zeilen in txt löschen, txt spezielle zeile löschen, php zeile enthält, url zeile leeren

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:12 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