Administrator Startseite

Apple

iOS, iTunes, Mac OS X

Entwicklung

Assembler, BASIC, Batch & Shell, Bibliotheken & Toolkits, CSS, C und C++, Datenbanken, HTML, IDE & Editoren, Installation, Java, JavaScript, KiXtart, Lizenzierung, Pascal & Delphi, Perl, PHP, Python, VB for Applications, Visual Studio, Webentwicklung, XML

Hardware

Benchmarks, Cluster, CPU, RAM, Mainboards, Drucker und Scanner, Festplatten, Raid, Grafikkarten & Monitore, LAN, WAN, Wireless, Multimedia & Zubehör, Notebook & Zubehör, Router & Routing, SAN, NAS, DAS, Server-Hardware, Sonstige Peripheriegeräte, Speicherkarten, Switche und Hubs

Internet

Blogs, CMS, Domain Registrierung, E-Books, E-Business, E-Mail, Flatrates, Hosting & Housing, Informationsdienste, Instant Messaging, Onlinedienste, SEO, Server, Soziale Netzwerke, Utilities, Webbrowser

Linux

Apache Server, Debian, Desktop, Netzwerk, OpenOffice, LibreOffice, RedHat, CentOS, Fedora, Samba, Suse, Tools & Utilities, Ubuntu, Userverwaltung

Microsoft

Exchange Server, Hyper-V, Installationsprobleme, Netzwerk, Office, Outlook & Mail, Systemdateien, Tools & Utilities, Userverwaltung, Visual Studio, Windows 7, Windows 8, Windows 10, Windows Phone, Windows Server, Windows Vista, Windows XP

Multimedia

Audio, Digitiales Fernsehen, Grafik, Icons, Schriftarten, Video

Netzwerke

Cluster, DNS, DSL, VDSL, Groupware, Grundlagen, ISDN & Analoganschlüsse, LAN, WAN, Wireless, Monitoring, Netzwerkmanagement, Netzwerkprotokolle, Router & Routing, TK-Netze & Geräte, UMTS, EDGE & GPRS, Voice over IP

Off Topic

Humor (lol), Administrator.de Feedback, Papierkorb

Sicherheit

Backup, Erkennung und -Abwehr, Firewall, Informationsdienste, Sicherheits-Tools, Tipps & Tricks, Verschlüsselung & Zertifikate, Viren und Trojaner

Sonstige Systeme

Google Android, MikroTik RouterOS, Novell Netware, Sun Solaris

Virtualisierung

Hyper-V, KVM, Vmware, Xenserver

Weiterbildung

Aus- und Weiterbildung, Ausland, Schulung & Training, Studentenjobs & Praktikum

Zusammenarbeit

Suche Projektpartner
Weniger Werbung?
Cover IT-Administrator
Die Datenmenge in Unternehmen wächst unaufhaltsam und auch deren notwendige Verfügbarkeit steht längst außer Frage. Deshalb befasst sich das IT-Administrator Magazin im November mit dem Schwerpunkt 'Storage & Datenmanagement'. So zeigen wir unter anderem, wie die Speichervirtualisierung mit Open vStorage funktioniert. Außerdem lesen Sie, auf welchem Weg Sie iSCSI optimal mit Windows Server 2012 R2 und Hyper-V nutzen und wie Sie Amazon S3 dank S3QL ... mehr
Mitglied: ottscho
13.02.2012 um 07:52 Uhr, 3186 Aufrufe, 6 Kommentare

GELÖSTNeuste Datei in einem Ordner ermitteln

Guten Morgen,

ich lese eine CSV Datei aus und übermittle die Daten an einen Onlineshop.
Nun erstellt das ERP automatisch den CSV-Export und hängt hinter den normalen Namen noch Datum und Uhrzeit.

Ich habe also in meinem Ordner mehrere CSV Dateien welche z.B. so aussehen:

Exportwebshop_20120111_111539_complete.csv
Exportwebshop_20120114_181150_complete.csv

etc.

Der ERP Hersteller verlangt 1000€ um den Dateinamen zu ändern. Daher wollten wir das so lassen und das PHP Script, welches den Import in den Shop macht sollte immer nur die aktuellste CSV einlesen.

Nun sehe ich zwei Möglichkeiten:

1.) Man zerlegt den Dateinamen und schreibt Datum+Zeit zusammen. Die die höchste Zahl ist somit die neuste CSV Datei.
2.) Bei PHP gibt es ein Funktion um das Erstellungs-/Änderungsdatum zu ermitteln.

Habt ihr schon mal was in der Art gemacht?
Wie würdet ihr es machen?

Danke für eure Tipps

Gruß
ottscho
Mitglied: StefanKittel
13.02.2012 um 09:35 Uhr
Hallo,

warum so kompliziert?

Die Datei die Du einlesen möchtest hat doch immer das aktuelle Datum?
Also machst Du ein Dir auf "*20120214*.csv" und fertig.

Stefan
Bitte warten ..
Mitglied: ottscho
13.02.2012 um 10:38 Uhr
Hi Stefan,

ich wusst nicht dass das geht ;)

Also meinst du einfach so:

$handle = fopen ("transfer/*20120214*.csv","r");
Bitte warten ..
Mitglied: StefanKittel
13.02.2012 um 11:28 Uhr
Hallo,

na fast.

Siehe
http://php.net/manual/de/class.dir.php

So müßte es sein zum auflisten und da kommt ja nur eine Datei zurück.
$d = dir("/etc/php5/*20120214*.csv");

Stefan
Bitte warten ..
Mitglied: ottscho
13.02.2012 um 12:02 Uhr
Zitat von StefanKittel:
Hallo,

na fast.

Siehe
http://php.net/manual/de/class.dir.php

So müßte es sein zum auflisten und da kommt ja nur eine Datei zurück.
$d = dir("/etc/php5/*20120214*.csv");

Stefan

HI Stefan,

das geht so leider nicht.

Sobald ich mehr als nur den Pfad angeben, bekomme ich kein Rückgabewert.

Gruß
ottscho
Bitte warten ..
Mitglied: nxclass
13.02.2012 um 12:04 Uhr
01.
$dateiname = max(  $liste_der_Dateinamen );
das sollte auch gehen.

EDIT:
Bei PHP gibt es ein Funktion um das Erstellungs-/Änderungsdatum zu ermitteln.
aber sicher doch: http://php.net/manual/en/function.filemtime.php
Bitte warten ..
Mitglied: ottscho
13.02.2012 um 12:11 Uhr
Habe es auf die schnelle nun so:

01.
$handle=opendir ("transfer"); 
02.
echo "Verzeichnisinhalt:<br>"; 
03.
while ($datei = readdir ($handle)) { 
04.
  if(strpos($datei,"20120213")!==false) echo $datei."<br />"; 
05.
06.
closedir($handle);

Funktioniert. Aber ist wohl nicht die schönste Möglichkeit...

Danke euch
Bitte warten ..
Neuester Wissensbeitrag
Administrator.de Feedback
Erfahrungsbericht: Tja, ich mag humorlos sein, oder spätestens dann werden, wenn mein Rechner zickt, unabhängig davon, ob es nun an mir lag, am Rechner oder an Microsoft oder an ... von Kiel-oben, in Administrator.de Feedback
Diese Inhalte könnten dich auch interessieren
Batch & Shell
Frage: Hallo, ich hab eine Batch-Datei, die von einer Daten/Ordner-Strukter nur gewisse Ordner und Strukturen an eine andere Stelle kopiert. dazu benutzte ich Robocopy und den \MIR Befehl. Die ... von chrisdi91, in Batch & Shell
Batch & Shell
Frage: Hallo! ich hoffe ich bin hier richtig, es geht um folgendes Problem: in einem Ordner liegen mehrere Unterordner mit weiteren Unterordnern (ca. 15k, Tiefe 3). In ca. 5k ... von Gari.on, in Batch & Shell
Batch & Shell
Frage: Hallo erstmal an alle, da ich mich seit kurzem mit Batchprogrammierung beschäftige und bei euch schon sehr viele hervorragende Hinweise zu anderen Problemen dieser Art gefunden habe würde ... von ChocoLoco, in Batch & Shell
Windows Server
Frage: Hallo Zusammen, ich binde per GPO eine Batchdatei ein, die folgendes beinhaltet: mkdir \%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup copy \\serverpfad\verknuepfung.lnk "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" /Y Jetzt ist es teilweise so, das der Ordner ... von johndoe, in Windows Server
Batch & Shell
Frage: Hallo zusammen, ich bin gerade dabei mir eine BAT-Datei zu basteln um die Profile vom Firefox per "Knopfdruck" kopieren zu lassen, dabei hänge ich gerade an eine besch. ... von ghoppe, in Batch & Shell
Heiß diskutierte Inhalte
Viren und Trojaner
Frage: Wie komme ich bei dem Acer Travelmate P253 Win8 ins BIOS? Habe einen Troyaner (durch 1 und 1 mail) die vom AVIRA oder AVG Vierenscanner nicht gefunden wurde. ... von SpiderXXX, in Viren und Trojaner
Linux
Frage: Schönen guten Tag allerseits, zuhause habe ich 5 Computer die von der ganzen Familie immer genutzt werden. Nun wollte ich mir aber einen kleinen Datenserver zusammenbauen, damit man ... von DasJulian, in Linux
Netzwerk
Frage: Hallo, ich habe bei mir beim Raspberry Pi vor langer Zeit einmal einen Proxy eingetragen mit folgenden Befehl: http_proxy=" Ich finde aber nicht wo der Pi das abspeichert. ... von K-ist-K, in Netzwerk
PHP
Frage: Hallo Zusammen, ich brauche eine Website auf der man sich mit seinen LDAP Account anmelden kann und dann eine Nachricht eingeben kann die dann in einer .txt abgelegt ... von schneerunzel, in PHP
Netzwerk
Frage: Hallo zusammen, mein Intranet besteht aus einer FritzBox 7170 (stellt Internet bereit) und eine FritzBox 7240 (im IP-Client-Modus) für WLan und DECT (die kommt aber leider nicht mit ... von ChristianKnorr, in Netzwerk