הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאלה צפיה אחרונה בקבצים.... (https://hosts.co.il/forums/showthread.php?t=100131)

dabi 30-09-12 15:44

שאלה צפיה אחרונה בקבצים....
 
איך אפשר לדעת דרך PHP מתי קובץ בשרת נפתח/ הורד בפעם האחרונה?
תודה רבה

אדיר 30-09-12 15:47

מה שאתה יכול לבדוק זה מתי ניגשו לקובץ בפעם האחרונה (שזה כולל כמובן פתיחה ו"הורדה" של הקובץ).

http://php.net/manual/en/function.fileatime.php

dabi 30-09-12 15:55

זה ממש יוריד את הקובץ? אין דרך יותר יעילה
המטרה היא כמובן באתר של העלאת תמונות מתי צפו בתמונה בפעם החארונה
אז כמובן שיש אפשרות לשלב את התמונה באתר שלי ואז לבדוק מתי פתחו את העמוד
אבל אם הבן אדם העלה את התמונה לאתר שלי ואז שילב אותה באתר כלשהו בצורה ישירה אין לי דרך לדעת....
אין רישום כלשהו בשרת לזה?

אדיר 30-09-12 16:47

לא הבנת.

הזמן שבו ניגשו לקובץ בפעם האחרונה (last access time), מתעדכן גם כאשר פותחים את הקובץ או "מורידים" אותו להגדרתך.
ככה שסביר להניח שזה יתאים למה שאתה מנסה לעשות.

Erez | TrustMedia.co.il 30-09-12 16:53

ציטוט:

נכתב במקור על ידי dabi (פרסם 858518)
זה ממש יוריד את הקובץ? אין דרך יותר יעילה
המטרה היא כמובן באתר של העלאת תמונות מתי צפו בתמונה בפעם החארונה
אז כמובן שיש אפשרות לשלב את התמונה באתר שלי ואז לבדוק מתי פתחו את העמוד
אבל אם הבן אדם העלה את התמונה לאתר שלי ואז שילב אותה באתר כלשהו בצורה ישירה אין לי דרך לדעת....
אין רישום כלשהו בשרת לזה?

כן יש לך איך לדעת, אל תיתן גישה ישירה לתמונה על השרת, אלא תעשה קובץ PHP שיציג את התמונה (מציג את התוכן שלה עם ההאדרים הנכונים וזה נראה כמו התמונה האמיתית).
היתרון של זה הוא שאתה יכול לעקוב אחרי הצפיות, וגם אתה יכול להגדיר הגדרות שונות בצפייה בתמונות, כמו פרסומות למשל או כתובת האתר על התמונה וכו'

yonatan 30-09-12 19:04

אם המדריך http://php.net/manual/en/function.fileatime.php לא עזר לך .. תקח בחשבון שיש מצבים בהם זה לא יעבוד כמו שאתה מצפה מצד שרת.

ה access time של הקובץ נמצא במערכת הקבצים שלך במה שמכונה " meta data " , אמינות המידע ב META DATA כמובן תלוי בסוג מערכת הקבצים שלך קודם כל.
אם אתה משתמש ב ext3 בעגינה שמגיעה כברירת המחדל במערכת שלך, הזמן אמור להיות 100% עדכני.
גם ב NTFS ברירת המחדל רושמת access time במידה ואתה משתמש בחלונות.

במידה ואתה משתמש במערכת קבצים מסוג אחר, ייתכן שהמידע לא יהיה 100% עדכני אם בכלל קיים.

Haimz 01-10-12 14:36

יש אפשרות שנייה , אני לא יודע כמה היא יעילה, אבל קח אותה בחשבון:
בכל פעם שנכנסים לתמונה תעדכן עמודה במסד נתונים, אם זה קובץ .png תעשה את זה עם htaccess ו GD library


כל הזמנים הם GMT +2. הזמן כעת הוא 06:04.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ