PHP: Verzeichnis rekursiv löschen (neue Version, Diskussion)
bearbeitet von Raketenwilli> CHILD_FIRST ist super. Das hatte ich nicht gesehen und das macht die Zwischenspeicherung in einem Array unnötig.
Auch wenn Du es nicht selbst (durch notierten Code) tust - im Hintergrund wird die Klasse `RecursiveIteratorIterator` genau das sehr wohl tun. Immerhin nimmt die ja beim Construct genau einen solchen Array bzw. ein [Traversable](https://www.php.net/manual/de/class.traversable.php) entgegen - den der `FilesystemIterator` ergo auch liefern bzw. sein muss. Aber spätestens für die intern stattfindende Sortierung wird es wohl doch ein Array sein.
Man sollte womöglich den Speicherverbrauch und die Performance nicht ganz aus den Augen verlieren: Immerhin ist der FilesystemIterator [eine „eierlegende Wollmilchsau“](https://www.php.net/manual/de/class.filesystemiterator.php) und dürfte einigen Aufwand betreiben um die vielen gebotenen, aber hier nutzlosen Informationen zu erlangen. (Klar könnte man einen Hifetext ins Error-Log schreiben der bis runter zum Inode alle Informationen gibt, warum sich eine Datei oder ein Verzeichnis nicht löschen ließ...wobei der FilesystemIterator dann aber an [`acl`](https://linux.die.net/man/1/getfacl), erst recht an den „Ausführungsverhinderern“ und readonly gemounteten Dateisystemen scheitert - die kennt er nicht. )
**Und wenn ich dann sehe, wie lange das ganze Gewühle im Handbuch dauert um meine 50 Zeilen „primitiven Code“ zu ersetzen kann ich auch nur ein *„Naja. Mancher will es so…“* seufzen.**
Das es ja um das Wiki ging:
Interessanter wäre es vielleicht, zu zeigen, wie man den Spaß auf Verzeichnisse begrenzt, die ein Kindverzeichnis eines temporären Verzeichnisses sind. (Etwas wie "*/tmp/*" oder "*/temp/*" im Pfadname haben.)
PHP: Verzeichnis rekursiv löschen (neue Version, Diskussion)
bearbeitet von Raketenwilli> CHILD_FIRST ist super. Das hatte ich nicht gesehen und das macht die Zwischenspeicherung in einem Array unnötig.
Auch wenn Du es nicht selbst (durch notierten Code) tust - im Hintergrund wird die Klasse `RecursiveIteratorIterator` genau das sehr wohl tun. Immerhin nimmt die ja beim Construct genau einen solchen Array bzw. ein [Traversable](https://www.php.net/manual/de/class.traversable.php) entgegen - den der `FilesystemIterator` ergo auch liefern bzw. sein muss. Aber spätestens für die intern stattfindende Sortierung wird es wohl doch ein Array sein.
Man sollte womöglich den Speicherverbrauch und die Performance nicht ganz aus den Augen verlieren: Immerhin ist der FilesystemIterator [eine „eierlegende Wollmilchsau“](https://www.php.net/manual/de/class.filesystemiterator.php) und dürfte einigen Aufwand betreiben um die vielen gebotenen, aber hier nutzlosen Informationen zu erlangen. (Klar könnte man einen Hifetext ins Error-Log schreiben der bis runter zum Inode alle Informationen gibt, warum sich eine Datei oder ein Verzeichnis nicht löschen ließ...wobei der FilesystemIterator dann aber an [`acl`](https://linux.die.net/man/1/getfacl), erst recht an den „Ausführungsverhinderern“ und readonly gemounteten Dateisystemen scheitert - die kennt er nicht. )
**Und wenn ich dann sehe, wie lange das ganze Gewühle im Handbuch dauert um meine 50 Zeilen „primitiven Code“ zu ersetzen kann ich auch nur ein *„Naja. Mancher will es so…“* seufzen.**
Das es ja um das Wiki ging:
Interessanter wäre es vielleicht, zu zeigen, wie man den Spaß auf Verzeichnisse begrenzt, die ein Kindverzeichnis eines temporären Verzeichnisses sind. (Etwas wie "*/tmp/*" oder "*/temp/*" im Pfadname haben.
PHP: Verzeichnis rekursiv löschen (neue Version, Diskussion)
bearbeitet von Raketenwilli> CHILD_FIRST ist super. Das hatte ich nicht gesehen und das macht die Zwischenspeicherung in einem Array unnötig.
Auch wenn Du es nicht selbst (durch notierten Code) tust - im Hintergrund wird die Klasse `RecursiveIteratorIterator` genau das sehr wohl tun. Immerhin nimmt die ja beim Construct genau einen solchen Array bzw. ein [Traversable](https://www.php.net/manual/de/class.traversable.php) entgegen - den der `FilesystemIterator` ergo auch liefern bzw. sein muss. Aber spätestens für die intern stattfindende Sortierung wird es wohl doch ein Array sein.
Man sollte womöglich den Speicherverbrauch und die Performance nicht ganz aus den Augen verlieren: Immerhin ist der FilesystemIterator [eine „eierlegende Wollmilchsau“](https://www.php.net/manual/de/class.filesystemiterator.php) und dürfte einigen Aufwand betreiben um die vielen gebotenen, aber hier nutzlosen Informationen zu erlangen. (Klar könnte man einen Hifetext ins Error-Log schreiben der bis runter zum Inode alle Informationen gibt, warum sich eine Datei oder ein Verzeichnis nicht löschen ließ...wobei der FilesystemIterator dann aber an [`acl`](https://linux.die.net/man/1/getfacl), erst recht an den „Ausführungsverhinderern“ und readonly gemounteten Dateisystemen scheitert - die kennt er nicht. )
**Und wenn ich dann sehe, wie lange das ganze Gewühle im Handbuch dauert um meine 50 Zeilen „primitiven Code“ zu ersetzen kann ich auch nur ein *„Naja. Mancher will es so…“* seufzen.**
Das es ja um das Wiki ging:
Interessanter wäre es vielleicht, zu zeigen, wie man den Spaß auf Verzeichnisse begrenzt, die ein Kindverzeichnis eines temporären verzeichnisses sind.
PHP: Verzeichnis rekursiv löschen (neue Version, Diskussion)
bearbeitet von Raketenwilli> CHILD_FIRST ist super. Das hatte ich nicht gesehen und das macht die Zwischenspeicherung in einem Array unnötig.
Auch wenn Du es nicht selbst (durch notierten Code) tust - im Hintergrund wird die Klasse `RecursiveIteratorIterator` genau das sehr wohl tun. Immerhin nimmt die ja beim Construct genau einen solchen Array bzw. ein [Traversable](https://www.php.net/manual/de/class.traversable.php) entgegen - den der `FilesystemIterator` ergo auch liefern bzw. sein muss. Aber spätestens für die intern stattfindende Sortierung wird es wohl doch ein Array sein.
Man sollte womöglich den Speicherverbrauch und die Performance nicht ganz aus den Augen verlieren: Immerhin ist der FilesystemIterator [eine „eierlegende Wollmilchsau“](https://www.php.net/manual/de/class.filesystemiterator.php) und dürfte einigen Aufwand betreiben um die vielen gebotenen, aber hier nutzlosen Informationen zu erlangen. (Klar könnte man einen Hifetext ins Error-Log schreiben der bis runter zum Inode alle Informationen gibt, warum sich eine Datei oder ein Verzeichnis nicht löschen ließ...wobei der FilesystemIterator dann aber an [`acl`](https://linux.die.net/man/1/getfacl), erst recht an den „Ausführungsverhinderern“ und readonly gemounteten Dateisystemen scheitert - die kennt er nicht. )
**Und wenn ich dann sehe, wie lange das ganze Gewühle im Handbuch dauert um meine 50 Zeilen „primitiven Code“ zu ersetzen kann ich auch nur ein *„Naja. Mancher will es so…“* seufzen.**
PHP: Verzeichnis rekursiv löschen (neue Version, Diskussion)
bearbeitet von Raketenwilli> CHILD_FIRST ist super. Das hatte ich nicht gesehen und das macht die Zwischenspeicherung in einem Array unnötig.
Auch wenn Du es nicht selbst (durch notierten Code) tust - im Hintergrund wird die Klasse `RecursiveIteratorIterator` genau das sehr wohl tun. Immerhin nimmt die ja beim Construct genau einen solchen Array bzw. ein [Traversable](https://www.php.net/manual/de/class.traversable.php) entgegen - den der `FilesystemIterator` ergo auch liefern bzw. sein muss. Aber spätestens für die intern stattfindende Sortierung wird es wohl doch ein Array sein.
Man sollte womöglich den Speicherverbrauch und die Performance nicht ganz aus den Augen verlieren: Immerhin ist der FilesystemIterator [eine „eierlegende Wollmilchsau“](https://www.php.net/manual/de/class.filesystemiterator.php) und dürfte einigen Aufwand betreiben um die vielen gebotenen, aber hier nutzlosen Informationen zu erlangen. (Klar könnte man einen Hifetext ins Error-Log schreiben der bis runter zum Inode alle Informationen gibt, warum sich eine Datei oder ein Verzeichnis nicht löschen ließ...wobei der FilesystemIterator dann aber an [`acl`](https://linux.die.net/man/1/getfacl), erst recht an den „Ausführungsverhinderern“ und readonly gemounteten Dateisystemen scheitert - die kennt er nicht. )
**Und wenn ich dann sehe, wie lange das ganze Gewühle im Handbuch dauert um meine 50 Zeilen „primitiven Code“ zu ersetzen kann ich auch nur ein *„Naja“* seufzen.**
PHP: Verzeichnis rekursiv löschen (neue Version, Diskussion)
bearbeitet von Raketenwilli> CHILD_FIRST ist super. Das hatte ich nicht gesehen und das macht die Zwischenspeicherung in einem Array unnötig.
Auch wenn Du es nicht selbst (durch notierten Code) tust - im Hintergrund wird die Klasse `RecursiveIteratorIterator` genau das sehr wohl tun. Immerhin nimmt die ja beim Construct genau einen solchen Array bzw. ein [Traversable](https://www.php.net/manual/de/class.traversable.php) entgegen - den der `FilesystemIterator` ergo auch liefern bzw. sein muss. Aber spätestens für die intern stattfindende Sortierung wird es wohl doch ein Array sein.
Man sollte womöglich den Speicherverbrauch und die Performance nicht ganz aus den Augen verlieren: Immerhin ist der FilesystemIterator [eine „eierlegende Wollmilchsau“](https://www.php.net/manual/de/class.filesystemiterator.php) und dürfte einigen Aufwand betreiben um die vielen gebotenen, aber hier nutzlosen Informationen zu erlangen. (Klar könnte man einen Hifetext ins Error-Log schreiben der bis runter zum Inode alle Informationen gibt, warum sich eine Datei oder ein Verzeichnis nicht löschen ließ...wobei der FilesystemIterator dann aber an [`acl`](https://linux.die.net/man/1/getfacl) scheitert - die kennt er nicht. )
**Und wenn ich dann sehe, wie lange das ganze Gewühle im Handbuch dauert um meine 50 Zeilen „primitiven Code“ zu ersetzen kann ich auch nur ein *„Naja“* seufzen.**
PHP: Verzeichnis rekursiv löschen (neue Version, Diskussion)
bearbeitet von Raketenwilli> CHILD_FIRST ist super. Das hatte ich nicht gesehen und das macht die Zwischenspeicherung in einem Array unnötig.
Auch wenn Du es nicht selbst (durch notierten Code) tust - im Hintergrund wird die Klasse `RecursiveIteratorIterator` genau das sehr wohl tun. Immerhin nimmt die ja beim Construct genau einen solchen Array bzw. ein [Traversable](https://www.php.net/manual/de/class.traversable.php) entgegen - den der `FilesystemIterator` ergo auch liefern bzw. sein muss. Aber spätestens für die intern stattfindende Sortierung wird es wohl doch ein Array sein.
Man sollte womöglich den Speicherverbrauch und die Performance nicht ganz aus den Augen verlieren: Immerhin ist der FilesystemIterator [eine „eierlegende Wollmilchsau“](https://www.php.net/manual/de/class.filesystemiterator.php) und dürfte einigen Aufwand betreiben um die vielen gebotenen, aber hier nutzlosen Informationen zu erlangen. (Klar könnte man einen Hifetext ins Error-Log schreiben der bis runter zum Inode alle Informationen gibt, warum sich eine Datei oder ein Verzeichnis nicht löschen ließ...wobei der FilesystemIterator dann aber an `acl` scheitert - die kennt er nicht. )
**Und wenn ich dann sehe, wie lange das ganze Gewühle im Handbuch dauert um meine 50 Zeilen „primitiven Code“ zu ersetzen kann ich auch nur ein *„Naja“* seufzen.**
PHP: Verzeichnis rekursiv löschen (neue Version, Diskussion)
bearbeitet von Raketenwilli> CHILD_FIRST ist super. Das hatte ich nicht gesehen und das macht die Zwischenspeicherung in einem Array unnötig.
Auch wenn Du es nicht selbst (durch notierten Code) tust - im Hintergrund wird die Klasse `RecursiveIteratorIterator` genau das sehr wohl tun. Immerhin nimmt die ja beim Construct genau einen solchen Array bzw. ein [Traversable](https://www.php.net/manual/de/class.traversable.php) entgegen - den der `FilesystemIterator` ergo auch liefern bzw. sein muss. Aber spätestens für die intern stattfindende Sortierung wird es wohl doch ein Array sein.
Man sollte womöglich den Speicherverbrauch und die Performance nicht ganz aus den Augen verlieren: Immerhin ist der FilesystemIterator [eine „eierlegende Wollmilchsau“](https://www.php.net/manual/de/class.filesystemiterator.php) und dürfte einigen Aufwand betreiben um die vielen gebotenen, aber hier nutzlosen Informationen zu erlangen. (Klar könnte man einen Hifetext ins Error-Log schreiben der bis runter zum Inode alle Informationen gibt, warum sich eine Datei oder ein Verzeichnis nicht löschen ließ...wobei der FilesystemIterator dann aber an `acl` scheitert - die kennt er nicht. )
**Und wenn ich dann sehe, wie lange das ganze Gewühle im Handbuch dauert um meine 50 Zeilen „nativen Code“ zu ersetzen... Naja.**
PHP: Verzeichnis rekursiv löschen (neue Version, Diskussion)
bearbeitet von Raketenwilli> CHILD_FIRST ist super. Das hatte ich nicht gesehen und das macht die Zwischenspeicherung in einem Array unnötig.
Auch wenn Du es nicht selbst (durch notierten Code) tust - im Hintergrund wird die Klasse `RecursiveIteratorIterator` genau das sehr wohl tun. Immerhin nimmt die ja beim Construct genau einen solchen Array bzw. ein [Traversable](https://www.php.net/manual/de/class.traversable.php) entgegen - den der `FilesystemIterator` ergo auch liefern bzw. sein muss. Aber spätestens für die intern stattfindende Sortierung wird es wohl doch ein Array sein.
Man sollte womöglich den Speicherverbrauch und die Performance nicht ganz aus den Augen verlieren: Immerhin ist der FilesystemIterator [eine „eierlegende Wollmilchsau“](https://www.php.net/manual/de/class.filesystemiterator.php) und dürfte einigen Aufwand betreiben um die gebotenen Informationen zu erlangen.
**Und wenn ich dann sehe, wie lange das ganze Gewühle im Handbuch dauert um meine 50 Zeilen „nativen Code“ zu ersetzen... Naja.**
PHP: Verzeichnis rekursiv löschen (neue Version, Diskussion)
bearbeitet von Raketenwilli> CHILD_FIRST ist super. Das hatte ich nicht gesehen und das macht die Zwischenspeicherung in einem Array unnötig.
Auch wenn Du es nicht selbst (durch notierten Code) tust - im Hintergrund wird die Klasse `RecursiveIteratorIterator` genau das sehr wohl tun. Immerhin nimmt die ja beim Construct genau einen solchen Array bzw. ein [Traversable](https://www.php.net/manual/de/class.traversable.php) entgegen - den der `FilesystemIterator` ergo auch liefern bzw. sein muss. Aber spätestens für die intern stattfindende Sortierung wird es wohl doch ein Array sein.
Man sollte womöglich den Speicherverbrauch und die Performance nicht ganz aus den Augen verlieren: Immerhin ist der FilesystemIterator [eine „eierlegende Wollmilchsau“](https://www.php.net/manual/de/class.filesystemiterator.php) und dürfte einigen Aufwand betreiben um die gebotenen Informationen zu erlangen.