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

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

Adir 11-11-08 15:26

[שאלה] העלאת קבצים
 
איך אפשר לאפשר באתר העלאת קבצים עם שמות זהים מבלי לעשות overwrite על אחד מהם ?
נגיד מישהו העלה קובץ בשם game.jpg ואז עוד מישהו העלה קובץ עם אותו שם אז יש בעיה, איך אפשר למנוע את זה ?
הצלחתי לעשות לולאת while שכל הזמן תחפש מספר אקראי ותנסה לשמור את הקובץ עם השם שלו + המספר האקראי, אבל השיטה הזאתי לא כלכך מתאימה כי שם הקובץ המוקרי משתנה...

תודה מראש ! :-)

DvirCohen 11-11-08 15:39

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

omercnet 11-11-08 15:50

או שתשנה אם השם של הקובץ למספר סידורי לפי הקבצים הקיימים שלך.. תבדוק מה הקובץ האחרון ותוסיף 1 ואת הסיומת המקורית, וככה אין בעיה.

או שיותר פשוט, וגם תוכל לשמור על השם המקורי, תשמור רשומה בDB על כל קובץ והפרטים שלו, ושאתה שולף אותו, תעשה עם content-type את סוג הקובץ שלך, ותתן את השם שאתה רוצה לתת לו (המקורי)

Zvaim.co.il 11-11-08 16:02

השיטה הטובה לדעתי, היא לתת לכל קובץ שם רנודולמי (או איך שלא רושמים :)

Adir 11-11-08 16:09

ציטוט:

נכתב במקור על ידי omercnet (פרסם 681142)
או שיותר פשוט, וגם תוכל לשמור על השם המקורי, תשמור רשומה בDB על כל קובץ והפרטים שלו, ושאתה שולף אותו, תעשה עם content-type את סוג הקובץ שלך, ותתן את השם שאתה רוצה לתת לו (המקורי)

זה נשמע לי טוב, כאילו אני יכול לשמור את הקובץ בשרת עם התאריך ולשמור במסד את השם המקורי ואת המעודכן ואז בcontent type אפשר להציג את השם המקורי?

omercnet 11-11-08 17:54

חיובי


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

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