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
GELÖST

CSV Dateien auslesen geht bei Datei 1 und bei Datei 2 nicht.....

Frage Entwicklung PHP

Mitglied: hartmann

hartmann (Level 1) - Jetzt verbinden

15.10.2009, aktualisiert 19.10.2009, 5109 Aufrufe, 7 Kommentare

Hallo,
ich habe mehrere CSV Dateien die ich täglich mit PHP einlesen und nach bestimmten Werten suchen muss.
Bisher hat alles Wunderbar funktioniert aber seit ca 2-3 Tagen werden 2 von 8 Dateien nicht mehr richtig eingelesen. Ich poste am besten erstmal mal den Code:

01.
$dateien[0] = "datei01.csv";   
02.
$dateien[1] = "datei02.csv";   
03.
$dateien[2] = "datei03.csv";   
04.
$dateien[3] = "datei04.csv";   
05.
$dateien[4] = "datei05.csv";   
06.
$dateien[5] = "datei06.csv";   
07.
$dateien[6] = "datei07.csv";   
08.
$dateien[7] = "datei08.csv";   
09.
$counter = 0; 
10.
 
11.
$fp = @fopen($dateien[$counter], "r") or die ("Kann Datei nicht lesen.");  
12.
 
13.
while($array = fgetcsv($fp, 1000, ",")) 
14.
{  
15.
 
16.
     // Hier werden die geschten Daten mit mehreren IF- Abfragen rausgesucht 
17.
     // Bei Datei 02 und 03 bekomme ich nur ein leeres Array zurück   
18.
 
19.
     $counter++; 
20.
}

Bei Datei 02 und 03 bekomme ich nur ein leeres Array zurück. Die Dateien sind Komma getrennt und vom Aufbau zu 100% identisch. Das hat bisher immer Perfekt funktioniert nur seit ein paar Tagen werden diese 2 Dateien nicht mehr richtig gelesen.
Wenn ich die CSV Dateien in einen Editor öffne liegen diese auch im richtigen Format mit Inhalt vor, nur PHP kommt nicht an den Inhalt ran.

Ich hoffe jemand kann mir hier weiterhelfen, ich bin nämlich im moment ziemlich Ratlos .... falls mehrere Informationen benötigt werden kann ich diese jederzeit noch Posten.
Mitglied: Tommy70
15.10.2009 um 07:43 Uhr
Hallo,

um mal mit Garantie sicherzustellen dass die Dateien identisch sind.
Lässt sich Datei02 einlesen wenn du sie in Datei01 umbenennst und Datei01 in Datei02?

Gruß
Tom
Bitte warten ..
Mitglied: maretz
15.10.2009 um 07:51 Uhr
Moin,

gibt es denn auch ne Fehlermeldung (ggf. auch in den Log-Files?). Hat die Datei die entsprechenden Rechte? Wie sieht es mit Zeilen-Ende-Kennungen aus? (z.B. eine Datei im Unix, die andere im DOS-Format?)
Bitte warten ..
Mitglied: nxclass
15.10.2009 um 08:15 Uhr
evtl. ist eine Datenzeile länger als 1000 Zeichen ?
oder in einem Wert steht ein Komma, welches den Parser durcheinander bringt ?
Bitte warten ..
Mitglied: hartmann
15.10.2009 um 08:38 Uhr
erstmal danke für die schnelle Antworten.
Fehlermeldungen sind keine erschienen und Rechte der Dateien sind 100% identisch.

Habe die Dateien 01 und 02 jetzt umbenannt und alles ist perfekt gelaufen.

Dann habe ich diese Dateien wieder umbenannt und nochmal ausprobiert und es funktioniert jetzt auch wieder einwandfrei.

Das Problem hat sich jetzt also erstmal gelöst, aber woran könnte das liegen das es nach dem umbenennen jetzt wieder normal funktioniert ? Habe die Dateien 2 mal umbenannt jetzt ist alles wieder wie zu Beginn aber es geht jetzt perfekt.

Habt ihr da vielleicht noch eine Idee?
Bitte warten ..
Mitglied: bbyszio
15.10.2009 um 09:09 Uhr
Moin,
also wenn ich dein Script richtig verstehe, öffnest du nur die erste Datei, da dein fopen ausserhalb der Schleife liegt. Ich würde das fopen in der Schleife machen und direkt vor dem $counter++ die Datei wieder schließen.


Gruß
Bodo
Bitte warten ..
Mitglied: nxclass
15.10.2009 um 09:37 Uhr
Kann es sein das evtl. ein anderer Prozess gerade auf die Datei zugegriffen und diese blockiert hat ? (AV o. ein Editor ?
Wie werden die CSV Dateien erstellt ? - evtl. waren die 2 Dateien noch nicht geschlossen und somit leer ?

PS: Durch reiben, ist meine Glaskugel schon ganz heiß - muss sie jetzt erst mal abkühlen lassen)
Bitte warten ..
Mitglied: hartmann
15.10.2009 um 10:25 Uhr
Hatte das fopen schon in einer Schleife das ist mir durch das kopieren wohl verloren gegangen, so sieht das script aus.

01.
$dateien[0] = "datei01.csv";   
02.
$dateien[1] = "datei02.csv";   
03.
$dateien[2] = "datei03.csv";   
04.
$dateien[3] = "datei04.csv";   
05.
$dateien[4] = "datei05.csv";   
06.
$dateien[5] = "datei06.csv";   
07.
$dateien[6] = "datei07.csv";   
08.
$dateien[7] = "datei08.csv";   
09.
$counter = 0; 
10.
 
11.
while($counter < count($dateien)) 
12.
13.
$fp = @fopen($dateien[$counter], "r") or die ("Kann Datei nicht lesen.");  
14.
 
15.
while($array = fgetcsv($fp, 1000, ",")) 
16.
{  
17.
 
18.
     // Abfragen 
19.
 
20.
21.
    $counter++; 
22.
}

@nxclass Der Tipp das die Dateien evtl noch nicht fertig erstellt bzw. noch in Verwendung waren könnte ich mir gut vorstellen da die CSV dateien von Excel mit einen VB Script erstellt werden und diese Excel Datei häufig von von verschiedenen Usern bearbeitet wird. Ich werde das mal beobachten.

Thx an alle nochmal für die schnelle Hilfe.
Bitte warten ..
Ähnliche Inhalte
VB for Applications
CSV Datei mit VBS auslesen
Frage von scorpionesc83VB for Applications4 Kommentare

Hallo zusammen, ich bin in Sachen VBS ein totaler Anfänger und hoffe, dass ihr mir bei einem Problem helfen ...

Batch & Shell
2 Csv -Dateien zum Teil zusammenfügen
gelöst Frage von PiotrneyBatch & Shell6 Kommentare

Hallo, Ich habe die Frage schon mal gestellt und aus versehen auf gelöst geklickt. Zum Anliegen : Ich erzeuge ...

Batch & Shell
Auslesen und Vergleichen Zweiter CSV Dateien Powershell
gelöst Frage von HainoonBatch & Shell7 Kommentare

Hallo zusammen, ich arbeite im Moment an einem Script zum auslesen und vergleichen von Usern in der AD. Das ...

VB for Applications
Bestimmte Spalten aus CSV-Datei auslesen (VBS)
gelöst Frage von GurkenhobelVB for Applications9 Kommentare

Hallo Community, wieder benötige ich einmal kompetente Hilfe. Mein Script zum Auslesen bestimmte Spalten aus CSV-Dateien (über 200 " ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 22 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 ...