עזרה | סקריפט באש למחיקת קבצים מורכבת
-
@WWW אמר בעזרה | סקריפט באש למחיקת קבצים מורכבת:
פשוט לא הבנתי אותך נכון, חשבתי שאתה מדבר בלי DirectoryIterator.
אני לא התכוונתי כלום, כתבתי לך צעדים שלדעתי צריכים להיעשות, ואח"כ הייתי צריך לבדוק איך ליישם את זה בPHP.
אגב, הקוד לא בדיוק מתאים לי ככה, כי אי אפשר לבנות מערך של רק הקבצים הישנים, כי אני צריך להשאיר גם קבצים ישנים אם זה בתוך המכסה של 100 אחרונים.
זה אכן משאיר אותם.
(כנראה שלא כתבתי ברור למעלה, כשכתבתי AND, התכוונתי שהתנאי למחיקה זה שיהיה ישן וגם לפני 100 אחרונים, ואתה הבנת: שהתנאי להשאיר שגם יהיה חדש וגם מה 100 האחרונים).
זה מה שהבנתי. בשביל למחוק צריך גם שיהיה ישן וגם שיהיה יותר ממאה חדשים מאותו הסוג. אבל אני מבין שאתה מתכוון שאת המאה יש להרכיב מהחדשים והישנים יחדיו. לצערי לוקח לי הרבה זמן להבין אותך וגם כעת זה לא סופי, אבל כתבתי לך קוד שמעודכן להבנה הנוכחית (להלן).
אגב 2, אני לא רואה פה פתרון ללולאה, כי כי יש לי 100 תיקיות כאלה, התכונת שאני אעבור על הפונקציה
dirHandel
עם לולאה?אכן, כמה פעמים בנושא זה שאמרתי לך שזה מה שכדאי לעשות.
אני מחפש דרך לטעון את כל מערכת הקבצים החל מתיקיה מסוימת למערך ותתי מערכים (כולל תאריך שינוי), ואז לעבור בקוד עם לולאה על התיקיות ואז עם לולאה על הקבצים, זה נראה לי יותר יעיל מלבצע עשרות אלפי קריאות למערכת הקבצים.
אין שום אלפי קריאות. בדרך שלי עוברים על כל קובץ פעמיים, בדרך שלך (וככה רציתי בהתחלה שתעשה אף שזה קוד מסובך יותר), עוברים על כל קובץ פעם אחת אבל חייבים לשמור הכל הכל בזיכרון עד לסיום הלולאה, וזה פחות יעיל בהרבה.
לא יודע איך עובד המתודה
->getCTime()
האם בכל פעם הוא ניגש למערכת הקבצים או שזה שמור בזכרון?כשעוברים על המערכת קבצים, כל פריט בתורו מתקבל עם שלל של מידע.
אין לי מושג אם זה עטינה עצלה או זריזה אבל בשום אלגוריתם שתעשה בכל שפה עילית, לא תימלט מלבדוק את הזמן פר קובץ.@dovid אמר בעזרה | סקריפט באש למחיקת קבצים מורכבת:
אבל אני מבין שאתה מתכוון שאת המאה יש להרכיב גם מהחדשים.
אכן.
לצערי לוקח לי הרבה זמן להבין אותך וגם כעת זה לא סופי, אבל כתבתי לך קוד שמעודכן להבנה הנוכחית.
אני ממש מצטער ומבקש את סליחתך, בפרט שכל תשובה אתה טורח לכתוב קוד בPHP...
אין שום אלפי קריאות.
יש, אבל כפי שכתבת:
אין לי מושג אם זה עטינה עצלה או זריזה אבל בשום אלגוריתם שתעשה בכל שפה עילית, לא תימלט מלבדוק את הזמן פר קובץ.
בכל מקרה אצטרך לקריאות האלה (בשביל תאריך שינוי) אם במוקדם אם במאוחר.
(אגב, זה רק אצלי שאין אפשרות ציטוט של חלק מהפוסט לאחרונה?)
-
@dovid אמר בעזרה | סקריפט באש למחיקת קבצים מורכבת:
אבל אני מבין שאתה מתכוון שאת המאה יש להרכיב גם מהחדשים.
אכן.
לצערי לוקח לי הרבה זמן להבין אותך וגם כעת זה לא סופי, אבל כתבתי לך קוד שמעודכן להבנה הנוכחית.
אני ממש מצטער ומבקש את סליחתך, בפרט שכל תשובה אתה טורח לכתוב קוד בPHP...
אין שום אלפי קריאות.
יש, אבל כפי שכתבת:
אין לי מושג אם זה עטינה עצלה או זריזה אבל בשום אלגוריתם שתעשה בכל שפה עילית, לא תימלט מלבדוק את הזמן פר קובץ.
בכל מקרה אצטרך לקריאות האלה (בשביל תאריך שינוי) אם במוקדם אם במאוחר.
(אגב, זה רק אצלי שאין אפשרות ציטוט של חלק מהפוסט לאחרונה?)
@WWW אמר בעזרה | סקריפט באש למחיקת קבצים מורכבת:
(אגב, זה רק אצלי שאין אפשרות ציטוט של חלק מהפוסט לאחרונה?)
באג ידוע
תוקן בגרסה 2.0.0 של NODEBB
ואולי גם ב1.19.4 אם יצא