Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP: Zeile mit bestimmtem Inhalt komplett Löschen

Frage Entwicklung PHP

Mitglied: B-free

B-free (Level 1) - Jetzt verbinden

16.10.2013, aktualisiert 17:29 Uhr, 1663 Aufrufe, 4 Kommentare, 2 Danke

Hallo,

ich habe folgendes Problem:

Ich habe ein Dateisystem programmiert, in dem alle Dateinamen in einer Datei aufgezeichnet sind. Aus dieser Datei werden die Namen später wieder ausgelesen. Wenn jetzt aber der Wunsch besteht, eine Datei zu Löschen, muss nicht nur die Datei an sich gelöscht werden, sondern auch der Eintrag in der Datei... Das ist mein Problem.

Ich habe vieles Probiert. leider hat nichts geklappt.

die Einzelnen Zeilen sollen Komplett gelöscht werden und sehen so aus:

01.
Bildschirmfoto vom 2013-09-27 10:07:15.png|USERNAME|27.9.2013|USERNAME1,USERNAME2,USERNAME3
Mir währe wichtig, dass erstmal nur Dateiname und Username abgefragt werden. Also das es egal ist was dahinter steht. (In diesem Fall: |27.9.2013|USERNAME1,USERNAME2,USERNAME3)

Verstanden?

Tschau,
B-Free
Mitglied: colinardo
16.10.2013, aktualisiert 17.10.2013
Hi,
So aus dem Stehgreif ungetestet beispielsweise so:
01.
<?php 
02.
$database = "databasefile.txt"; 
03.
$suchDateiname = 'Testbild.png'; 
04.
$suchUser = 'USERNAME'; 
05.
$newFileString = ""; 
06.
$handle = fopen($database, "r"); 
07.
if ($handle) { 
08.
    while (($line = fgets($handle)) !== false) { 
09.
        $parts = preg_split("/\|/", $line); 
10.
        if (!($parts[0] == $suchDateiname && $parts[1] == $suchUser)){ 
11.
            $newFileString .= $line; 
12.
13.
14.
    if (!feof($handle)) { 
15.
        echo "Error: Unerwarteter fgets() Fehler\n"; 
16.
17.
    fclose($handle); 
18.
19.
$handle = @fopen($database, "w"); 
20.
fwrite($handle, $newFileString); 
21.
fclose($handle); 
22.
?>
p.s. Warum machst du sowas nicht mit einer richtigen Datenbank ?
Grüße Uwe
Bitte warten ..
Mitglied: B-free
16.10.2013, aktualisiert um 19:43 Uhr
Erstmal Danke!

Das Script werde ich Morgen testen, aber es sieht gut aus...


Eine Sache ist mir aufgefallen:

Ist das "!==" in:
01.
    while (($line = fgets($handle)) !== false) { 
richtig?

Grüße
B-Free

ps. Nochmal Danke!
ps. *edit* Und wegen der Datenbank, da setze ich mich auch noch ran... irgendwann...
Bitte warten ..
Mitglied: colinardo
16.10.2013, aktualisiert um 20:10 Uhr
Zitat von B-free:
Ist das "!==" in: ....... richtig?
http://www.php.net/manual/en/language.operators.comparison.php

Grüße Uwe
Bitte warten ..
Mitglied: B-free
23.10.2013 um 16:46 Uhr
Danke!

Leider erst jetzt getestet...

Es geht alles!

Tschau
B-Free
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Komplette Zeile aus Textdatei auslesen (3)

Frage von tegwert zum Thema Batch & Shell ...

VB for Applications
gelöst Vbscript bestimmte Zeile ungeachtet der Nummerierung löschen (4)

Frage von aletri zum Thema VB for Applications ...

Batch & Shell
gelöst In allen Textdateien eines bestimmten Pfades die Zeilen x bis Ende löschen (2)

Frage von Schloth zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel: viele leere Zeilen zwischendurch - effizient löschen? (9)

Frage von PixL86 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(9)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Proxy Server Settings Cloud + EWS (17)

Frage von SomebodyToLove zum Thema Exchange Server ...

Windows Server
PDF Editor für den Einsatz auf Terminal Servern (16)

Frage von kwame501 zum Thema Windows Server ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Virtualisierung
Unterschied zwischen VDI und Terminal Server Lösungen (13)

Frage von tukawi06 zum Thema Virtualisierung ...