Top-Themen

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

PHP Array dursuchen

Frage Entwicklung PHP

Mitglied: TokenRing

TokenRing (Level 1) - Jetzt verbinden

05.10.2012, aktualisiert 22:15 Uhr, 2504 Aufrufe, 9 Kommentare

Hallo,

ich habe jetzt schon einige Zeit rumgesucht, hab aber leider noch nicht die Lösung gefunden.

Mein Problem ist eigentlich total simpel, und wahrscheinlich auch recht schnell zu beantworten.

Folgende Situation:

Ich habe ein Logfile von einem Backup.
Das Logfile ist eine txt-Datei.

Via PHP möchte ich nun in dieses Logfile schauen, und eine Rückmeldung begkommen ob das Logfile "Error" gemeldet hat oder nicht.

Hier mein Script:
01.
  
02.
<?php 
03.
$logfile = file("Testkunde\logfile1.txt"); 
04.
 
05.
if(in_array("Error",$logfile)) 
06.
07.
echo "Fehler im Logfile"
08.
09.
else 
10.
11.
echo "Kein Fehler im Logfile"
12.
13.
?>
Wäre super wenn ihr mir helfen könntet.

VIelen Dank und einen schönen Abend.
Mitglied: Dani
05.10.2012, aktualisiert um 20:28 Uhr
Moin,
wie sieht die Logfile aus, was gibt das Script zurück und welche PHP-Version nutzt du?!
Hier ist beschrieben, wie du die Datei in ein Array bringst.


Grüße,
Dani
Bitte warten ..
Mitglied: TokenRing
05.10.2012 um 20:33 Uhr
Hi,

das Script springt gleich zu Else-Ausgabe und sagt "kein Fehler im Logfile". (obwohl ein Error drinnen steht)
Aktuell teste ich das Script in Xaamp. PHP-Version PHP/5.3.5
Hier noch das zu prüfende Logfile:


22:00:03 Start of Snapshot 1.40 [Mar 5 2012] at 30.08.2012
22:00:03 Running on Windows Server 2003, Standard Service Pack 1 (3790)
22:00:03 Memory Info: Total: 1022Mb, Free: 113Mb, Pagefile total: 2469Mb, Pagefile free: 32Mb
22:00:03 Command line: SNAPSHOT hd1:* G:\BackupDSS4\Drive$DISK.sna --LogFile:C:\Backup\Logfile\logfile4.txt --usevss
22:00:07 Disks in backup:
22:00:07 C: -> G:\BackupDSS4\DriveC.sna
22:00:08 Preparing for backup
22:00:13 Starting Snapshot creation
22:00:13 Creating shadow set {ec81fb40-ffa0-400d-86f7-56662933a347}
22:00:19 Register shadow copy {83251b86-578a-44bb-876b-26aaefb2fe80}
22:00:19 The Volume Snapshot was created successfully
22:00:47 Start VSS backup of C: -> G:\BackupDSS4\DriveC.sna
22:00:48 *
22:00:48 Snapshot error NTCPVOL2FILE, line 416
22:00:48 error allocating 7364609 bytes for the volume bitmap.
Can't build used cluster map.
22:00:48 last Windows Error: 5af-Die Auslagerungsdatei ist zu klein, um diesen Vorgang durchzuführen.
22:00:48
*
22:00:48 free space info: total 230.000MB, 118.503MB free, 111.497MB must be saved
22:00:49 Unable to allocate 29444272 bytes for the offset information
22:00:49 C: -> G:\BackupDSS4\DriveC.sna
22:00:49 operation aborted
22:00:49 Backup of C: aborted
22:00:49 Deleting previously generated shadow copy
22:00:49 Unregister shadow copy {83251b86-578a-44bb-876b-26aaefb2fe80}
22:00:49 Error occurred - exitcode 1
22:00:49 End of Snapshot 1.40 [Mar 5 2012] at 30.08.2012
Bitte warten ..
Mitglied: QfineRs
05.10.2012 um 20:35 Uhr
Ich denke, du musst die Textdatei erstmal Zeile für Zeile durchlaufen lassen und in jeder Zeile nach dem Wort suchen.
Bitte warten ..
Mitglied: Dani
05.10.2012 um 20:36 Uhr
Hast du das PHP-Script mit Hilfe des Links angepasst?!
Bitte nochmal posten...


GRüße,
Dani
Bitte warten ..
Mitglied: TokenRing
05.10.2012 um 20:53 Uhr
@ Dani
das Script wäre jetzt angepasst.

@QfineRs
wie kann ich das bewerkstelligen

vielen Dank schonmal für die schnelle Reaktion
Bitte warten ..
Mitglied: QfineRs
05.10.2012, aktualisiert um 20:55 Uhr
Das hier sollte funktionieren:

Achte darauf, dass das gelesene alles to Lower Case gemacht wird!

01.
$openfile = fopen('logfile.txt', 'r');  
02.
$searchtext = "error";  
03.
$ausgabe = array();  
04.
 
05.
while (!feof($openfile)) {  
06.
    if (strpos($zeile = strtolower(fgets($openfile, 4096)), $searchtext) !== FALSE) { 
07.
        $ausgabe[] = $zeile;   
08.
09.
}  
10.
if (empty($ausgabe)) { 
11.
    echo $searchtext . " wurde nicht gefunden!"
12.
}else
13.
    echo $searchtext . " wurde gefunden!"
14.
}
Bitte warten ..
Mitglied: TokenRing
05.10.2012 um 20:57 Uhr
super, funktioniert einwandfrei.

Vielen vielen Dank
Bitte warten ..
Mitglied: QfineRs
05.10.2012 um 21:00 Uhr
Text muss aber auch immer als lowercase gesucht werden. Nun kannst du auch einfach zu der Zeile Springen und die ganze zeile, in welcher das Error steht ausgeben... .
Bitte freut mich, wenn ich weiter helfen konnte.
Bitte warten ..
Mitglied: Dani
05.10.2012 um 22:15 Uhr
Moin,
hier noch meine Lösung:
01.
<?php 
02.
$array = file("test.txt"); 
03.
 
04.
for ($x = 0; $x < sizeof($array); $x++) { 
05.
	if(preg_match("/error/i" , $array[$x])) { 
06.
		echo "Fehler im Logfile:&nbsp;". $array[$x]."<br />"; 
07.
08.
09.
?>
Wenn's das war, bitte den Thread auf gelöst setzen.


Grüße,
Dani
Bitte warten ..
Ähnliche Inhalte
PHP
PHP - unique-array() und sort()
gelöst Frage von ThomasXYZPHP14 Kommentare

Hallo zusammen, ich bin gerade leicht am verzweifeln und finde nicht so recht die Lösung. Ich bekomme per Datenbankabfrage ...

PHP
PHP Array SELECT möglich
gelöst Frage von rumbleDomPHP1 Kommentar

Hallo Gemeinde, warscheinlich sehe ich den Wald vor lauter Bäumen mal wieder nicht. Kurzer Tipp wäre daher hilfreich :) ...

PHP
Mit PHP SQL Array Abfrage
gelöst Frage von gamerffPHP3 Kommentare

Hallo Forum, ich bin grade an einem Projekt dran ein Telefonbuch mit Mysql, PHP und HTMl zu erstellen. Ich ...

PHP
Wie in PHP ein array auslesen?
gelöst Frage von JochemPHP5 Kommentare

Moin zusammen, ich versuche, Daten aus einer Datenbank in mehrere arrays (pro DB-Feld ein array) zu schreiben und die ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 21 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...