![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Benutzer Registriert seit: 11.09.2006
Beiträge: 30
|
Hallo, ich hab ein kleines Problem. Ich möchte mit meiner Funktion den Inhalt aller Dateien aus einem Ordner durchsuchen. Nur beiinhaltet dieser Ordner wiederum ca. 10 000 Ordner, in denen die Dateien sind, gehen wir also von insgesamt 100 000 Dateien aus, ich durchsuche den Inhalt dieser Dateien nach einem String und möchte diesen Dateinamen ausgeben (inkl. Pfad). Mein Problem bei der Sache, dass der Cache nach kurzer Zeit überlagert ist (kein Wunder, bei so einer Menge an Daten) und das Script abbricht. Ist es möglich, wenn ja wie, das zu umgehen, bzw. den Cache immer wieder zu leeren, sodass der Arbeitsspeicher nicht voll ausgelastet wird und das Script abbricht? Meinen Code seht ihr hier. PHP-Code: MFG |
| | |
| | Nach oben #3 |
| Benutzer Registriert seit: 11.09.2006
Beiträge: 30
|
Hehe, naja warum.^^ Ich habe ein System (schon etwas älter) und damals alles etwas statisch aufgebaut, wenn ein User sich registriert hat, wurde in seine Datei ein Code geschrieben mit einer Variablen ID, meist sein Benutzername, nun muss der Code aber raus und derzeit gibt es 4000 Benutzer, jeder hat da wieder rum seine Dateien und Ordner drinnen, und ich kann es nicht schaffen, dass die User von selbst diesen Code entfernen. Ich habe ein Script geschrieben was in der Maindatei einen Code ohne Variable ID ersetzt (kein Thema) nur sind die anderen Codes in JEDER Datei eingebunden werden.^^ Nun muss ich herausfinden, welcher User noch in welcher Datei einen Code hat, und ich schätze das es noch ca. 600 sind. (Filtern geht nicht, da es nichts zum filtern gibt) mfg^^ |
| | |
| | Nach oben #4 |
| Johannes Müller Registriert seit: 15.09.2005 Ort: Königreich Flieden
Beiträge: 508
|
also eigentlich wird ja jedes durchsuchte verzeichnis geschlossen, bevor die unterverzeichnisse durchsucht werden ($verzeichnis->close()). die frage ist nur, warum die daten trotzdem noch den speicher blockieren...
__________________ Weißt Bescheid - Scheiß wie weit |
| | |
| | Nach oben #6 |
| Erfahrener Benutzer Registriert seit: 27.02.2006
Beiträge: 146
|
Ich denke mir, dass die maximale Ausführungszeit für PHP-Scripte letztendlich das Ganze beschränken wird. Bei einen Testlauf bei meinen Verzeichnissen bekam ich nach 60 Sekunden den abbruch nach rund 4000 Dateien .... Davon abgesehen würde ich die Funktion printatime weiter optimieren: PHP-Code: Jumper, the II. |
| | |
| | Nach oben #8 |
| Johannes Müller Registriert seit: 15.09.2005 Ort: Königreich Flieden
Beiträge: 508
| Das löscht aber nur den status cache (also in diesem fall eigentlich nur die werte für file_exists, is_readable und is_dir). und ich kann mir nicht vorstellen, dass allein diese daten den speicher vollpumpen...
__________________ Weißt Bescheid - Scheiß wie weit |
| | |
| | Nach oben #9 |
| Erfahrener Benutzer Registriert seit: 27.02.2006
Beiträge: 146
|
So, ich habe mal mit einem utopischen Zeit-Limit von 600 Sekunden getestet .... Ich weiß ja nicht, was für Dateien Du letztendlich hast, aber bei mir waren nach 27000 Dateien und 4650 Verzeichnissen Schluss mit Timeout. Gruß, Jumper, the II. |
| | |
| | Nach oben #12 |
| Benutzer Registriert seit: 11.09.2006
Beiträge: 30
|
Hallo, ich habe das jetzt ausgiebig geteste, es gibt auch noch eine andere möglichkeit, wenn man SSH Zugriff hat mit dem Befehl: grep --directories=recurse suchtext * >speicherdatei.txt damit durchsucht er wenn man das in dem jeweiligen pfad eingibt alle daten und schreibt die funde in die datei speicherdatei.txt. MFG Try |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Dateien aus .jar Files holen | SoulReaper | Allgemeine Java-Programmierung | 8 | 30.06.2007 14:56 |
| (PHP)Editor, der mehrere Dateien gleichzeitig durchsuchen kann | Chr!s | Gesuche | 8 | 17.03.2006 19:55 |
| Cache für Dateisystem-Abstraktion - wo Implementierung sinnvoll? | pago | Allgemeine Java-Programmierung | 0 | 27.02.2006 11:36 |