#1 5. Dezember 2012 Dateisuche per PHP im Netzwerk Hallo zusammen, Ich möchte per PHP eine Dateisuche auf einem entfernten Netzwerk Share realisieren. Nun hab ich ganz üble Performance Probleme und ich hätte gerne ein paar Tipps wie man dies besser lösen kann. Zur Zeit hab ich es so realisiert das ich mit der Funktion scandir eine rekursive Funktion gebaut hab die einen vorher angegebenen UNC Pfad abgreift. Es handelt sich aber um mehrere 1000 Dateien die "angefasst" werden müssen. Es läuft so: User gibt einen Teil vom Dateinamen einen ( eine Zahl die immer im Dateinamen steht ) die Funktion durchläuft alle Verzeichnisse rekursiv und schaut ob sie eine Datei findet in der die Zahl vorkommt, falls ja wird der Pfad zur Datei in einem Array gespeichert. Nun dauert so eine Suche aber mal gut und gerne 3 Minuten, was definitiv zuviel ist. Ich kann mir nicht vorstellen das ich der erste bin der vor so einen Problem steht. Ich will keine fertige Lösung sondern erstmal nur Tipps. Ein Ansatz von mir war den Indexdienst von Windows an zu zapfen, das ist mir aber nen bisschen zuviel von hinten durchs Bein ins Knie.. zieht außerdem auf dem Webserver übelst Leistung. Viele Grüße Neo + Multi-Zitat Zitieren
#2 5. Dezember 2012 AW: Dateisuche per PHP im Netzwerk Erstell einfach deinen eigenen "Index", dieser sollte sich in wenigen Sekunden durchsuchen lassen + Multi-Zitat Zitieren
#3 5. Dezember 2012 AW: Dateisuche per PHP im Netzwerk warum trägst du deine dateien (name u. pfad) nicht noch in eine DB ein? dann brauchst du nur die datenbank durchsuchen. @Nanobyte warst schneller + Multi-Zitat Zitieren
#4 5. Dezember 2012 AW: Dateisuche per PHP im Netzwerk Das Problem: er muss neue Dateien auch sofort mitbekommen, auf dem Filesystem werden im Sekundentakt Dateien erstellt. Wenn um 16:20:00 die Datei erstellt wird muss der User wenn er nach der Datei sucht im optimalen Fall um 16:20:30 die Datei vorfinden. Außerdem passieren auch Dateilöschungen auf dem Dateisystem unabhängig von dem Tool welches ich erstell. Dies müsste die Datenbank auch sofort mitbekommen. + Multi-Zitat Zitieren
#5 5. Dezember 2012 AW: Dateisuche per PHP im Netzwerk Denke mal mit PHP alleine wirst du das Dateisystem nicht überwachen können. Mit diesem Ansatz sollte es möglich sein eine Datenbank zu erstellen und Änderungen fast live zu erhalten. How to check if directory contents has changed with PHP? + Multi-Zitat Zitieren
#6 5. Dezember 2012 AW: Dateisuche per PHP im Netzwerk Also ich hab da nun nix praktikables gefunden? Das Ding läuft auf ner Windows Kiste, ich hätte es zwar auch lieber anders, aber hab keine Wahl. + Multi-Zitat Zitieren
#7 3. April 2013 AW: Dateisuche per PHP im Netzwerk Wollte hier mal eine kleine Rückmeldung geben wie ichs nun gelöst hab. Hab in C# nen kleines Programm geschrieben welches das Dateisystem überwacht und alle Änderungen an eine Datenbank weitergibt. Find ich zwar nicht sehr elegant gelöst jedoch ist dies die wohl am häufigsten praktizierte Lösung. Viele Grüße Neo + Multi-Zitat Zitieren