Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 2467 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(2)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
PHP
gelöst Php regex und Array (5)

Frage von Thomas91 zum Thema PHP ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...