php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.03.2011, 18:24  
Benutzer
 
Registriert seit: 16.06.2010
Beiträge: 64
PHP-Kenntnisse:
Fortgeschritten
crossfader zeigte ein beschämendes Verhalten in der Vergangenheit
Standard [Erledigt] Schneller Algorithmus um aus 1000 Dateien die neuste herauszufinden

Hallo!

Kurz vorweg zur Erklärung: Es gibt 2 Server, auf Server A liegen die Dateien in Ordnern sortiert. Von denen soll immer die neuste auf Server B kopiert werden.

Jetzt überlege ich aber, wie ich 1000 Dateien mit Hilfe von PHP nach Alter sortieren kann und dann den neusten herausfischen kann.. Alle Dateinamen in ein Array kopieren, die passenden MetaDaten der Datei auch noch mit dabei und dann das Array sortieren?? Das dauert doch bei 1000 Dateien viel zu lange, oder?

Eine einfache "Sortiermöglichkeit" gibts ja in PHP nicht, oder?

EDIT: Also mir würde eine Möglichkeit reichen, die funktioniert - sie muss nicht perfekt sein!

Herzlichen Dank für die Antworten!
Lieben Gruß,
Olli

Geändert von crossfader (11.03.2011 um 20:48 Uhr).
crossfader ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.03.2011, 20:51  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Probiers doch mal aus, 1000 Elemente zu sortieren dürfte jetzt nicht wirklich lange dauern.
Flor1an ist offline   Mit Zitat antworten
Alt 11.03.2011, 20:54  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Eine einfache "Sortiermöglichkeit" gibts ja in PHP nicht, oder?
Sortieren kann man nur Mengen, was also willst Du sortieren, wenn nicht Array-Elemente?!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 11.03.2011, 23:31  
Benutzer
 
Registriert seit: 07.07.2010
Beiträge: 87
PHP-Kenntnisse:
Fortgeschritten
bwoebi zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

PHP-Code:
$ordnerpfad "./"
$arr explode("\r\n",`find $ordner`)
unset(
$arr[0]); // Eintrag ".//" ist ja nützlich… 
for($i=1;$i<count($arr);$i++)
 
$arr[$i] = filemtime($arr[$i])
sort($arr); 
und dann den ensprechenden Index von $arr auswählen…
bwoebi ist offline   Mit Zitat antworten
Alt 12.03.2011, 00:04  
Benutzer
 
Registriert seit: 16.06.2010
Beiträge: 64
PHP-Kenntnisse:
Fortgeschritten
crossfader zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hi!

Danke für die Antworten! Also diese Menge an Dateien ist kein Problem für ein PHP Script?
Ich habe zwar schon einiges Programmiert, aber selten mit solch großen Mengen gearbeitet.
Aber es ist ja auch so, dass eigentlich 2000 Dateien "untersucht" werden müssen, da ja beide Server vergleicht werden müssen. Aber wenn das kein Problem für PHP ist (bzw. für den PHP Server), dann sollte ich das eigentlich hinbekommen.
crossfader ist offline   Mit Zitat antworten
Alt 12.03.2011, 00:43  
Erfahrener Benutzer
 
Benutzerbild von fireweasel
 
Registriert seit: 20.03.2010
Beiträge: 474
PHP-Kenntnisse:
Fortgeschritten
fireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblick
fireweasel eine Nachricht über ICQ schicken fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken fireweasel eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von crossfader Beitrag anzeigen

Jetzt überlege ich aber, wie ich 1000 Dateien mit Hilfe von PHP nach Alter sortieren kann und dann den neusten herausfischen kann.. Alle Dateinamen in ein Array kopieren, die passenden MetaDaten der Datei auch noch mit dabei und dann das Array sortieren?? Das dauert doch bei 1000 Dateien viel zu lange, oder? ...
Das Einlesen der 1000 (oder 2000) Dateinamen und der dazugehörigen Metadaten dürfte länger dauern.

Wenn du aber sowieso nur die neueste Datei benötigst, kannst du auf das Sortieren verzichten, und einfach das Änderungsdatum jeder eingelesenen Datei mit dem höchsten bisher vorgefundenen Wert vergleichen. Findest du einen höheren, wird der der Vergleichswert. Für die Prozedur musst du nur einmal alle Einträge in einer Schleife durchlaufen.
fireweasel ist offline   Mit Zitat antworten
Alt 12.03.2011, 00:44  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Könntest auch ne Datenbank nutzen in der immer steht welche Datei jetzt geändert wird, oder neuer ist dann lässt sich das abgleichen einfacher und schneller gestalten.
Flor1an ist offline   Mit Zitat antworten
Alt 12.03.2011, 07:24  
Erfahrener Benutzer
 
Registriert seit: 13.05.2009
Beiträge: 1.167
PHP-Kenntnisse:
Fortgeschritten
dennis81 befindet sich auf einem aufstrebenden Ast
Standard

Du kannst aber auch Tools des Betriebssystems nutzen.

Siehe: http://www.unix.com/unix-dummies-que...nix-linux.html
__________________
Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)
dennis81 ist offline   Mit Zitat antworten
Alt 12.03.2011, 11:24  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Schau mal hier, in dem Blogpost hat der Autor das hübsch verglichen. Kannste ja mal selbst testen, was bei dir auf dem Server am performantesten läuft.
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Alt 12.03.2011, 20:41  
Benutzer
 
Registriert seit: 16.06.2010
Beiträge: 64
PHP-Kenntnisse:
Fortgeschritten
crossfader zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von rudygotya Beitrag anzeigen
Schau mal hier, in dem Blogpost hat der Autor das hübsch verglichen. Kannste ja mal selbst testen, was bei dir auf dem Server am performantesten läuft.
Das sieht doch schonmal gut aus! Werde ich mir mal durchlesen, danke!

Eine Datenbank würde mir keine Erleichterung bringen, da ich keinen Einfluss darauf habe wann dort eine neue Datei erstellt wird. Die wird einfach zu Zeitpunkt X hochgeladen und zu Zeitpunkt Y muss ich alle neuen Dateien kennen
crossfader ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Alte Dateien verschieben und neuste anzeigen PHP Tipps 2005-2 5 02.08.2005 12:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
schnellster algorithmus, php algorithmus, algorythmus schnelles vergleich von dateien, weasel algorithm ja, neueste datei php, derzeit schnellster algorithmus

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:30 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum