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

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

daMn 27-07-07 23:42

[php]שאלה לגבי העלאת קבצים.
 
אז ככה אני מנסה לבנות מערכת העלאת קבצים ומה שאני מנסה לעשות הוא ככה:

שאני מעלה תמונה לדוגמא בשם blat.jpg
אז שהמערכת תבצע שינוי לשם ואני מעוניין שהיא תשנה בסדר מסויים.
התמונה הראשונה שאני יעלה תשונה לשם 1.jpg
לאחר מכן 2.jpg וכן הלאה...

תודה ויום טוב.

DCB 28-07-07 05:13

תריץ בדיקה של כל הקבצים בתיקיה ותבדוק מה הקובץ האחרון ותקרא לקובץ הבא בשם של הקודם + 1

לא יעיל אני יודע...
עוד אפשרות, תשמור במסד את המספר של הקובץ האחרון שהועלה...

WebProject 28-07-07 08:09

אני לא זוכר טוב אבל נראה לי יש פונקציה שבודקת מה הID של הנתון האחרון שהוכנס למסד.. אם כן פשוט תחבר לזה 1 וזהו.

4ior 28-07-07 09:00

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

בניה 28-07-07 13:04

כמו שאמרו אתה יכול לשמור את השם האחרון במסד או בתוך קובץ אם אתה לא רוצה להשתמש במסד.

Eran-s 28-07-07 14:33

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

Startzero.net 28-07-07 14:36

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

PHP קוד:

rand(1111119999999); 


Rom 28-07-07 14:39

תפתח קובץ ובוא תשים את המספר 0
כל פעם שמישהו מעלה קובץ אתה קורא מהקובץ מוסיף אחד = זה יהיה השם של הקובץ
ואתה משנה את התוכן של הקובץ לשם הקובץ החדש.

Eran-s 28-07-07 14:39

ציטוט:

נכתב במקור על ידי Startzero.net (פרסם 531307)
ממש טעות מה שאתה עושה..
הכי טוב שתעשה שזה נותן שם רנדומלי לקובץ עם המון מספרים, ככה הסיכוי הוא ממש קטן שהוא יחזור על עצמו פעמיים..

PHP קוד:

rand(1111119999999); 


קיים סיכוי קטן שיחזור על עצמו.
מה שאני עושה בהעלאת קבצים זה לולאת while אינוספית שבודקת אם השם שבחרנו קיים אם לא, להעלות את הקובץ בשם הזה ו-break ללולאה.

לולאה אינסופית:
PHP קוד:

while(1) {




oryrm19 28-07-07 15:53

אני חושב שצריך לעבוד עם DB
להכניס כל קובץ שאתה מעלה לDB
ככה גם תוכל לקבל מידע על הקבצים בשביל סטטיסטיקות או כל דבר שתרצה, וגם יהיה לך נוח לעשות מה שרצית

meshuga 28-07-07 15:59

ציטוט:

נכתב במקור על ידי Startzero.net (פרסם 531307)
ממש טעות מה שאתה עושה..
הכי טוב שתעשה שזה נותן שם רנדומלי לקובץ עם המון מספרים, ככה הסיכוי הוא ממש קטן שהוא יחזור על עצמו פעמיים..

PHP קוד:

rand(1111119999999); 


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

daMn 28-07-07 16:08

ציטוט:

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


בכל מקרה אני לא רואה איך ההצעה הזאת עוזרת לי,
כי היא נותנת לי מספר ראנדומלי ואני ביקשתי לפי סדר מסוים :S

בכל מקרה ההצעה הכי טובה היא לעבוד עם מסד נתונים.

Eran-s 28-07-07 16:26

ציטוט:

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

PHP קוד:

md5(time()); 

|קורץ|

meshuga 28-07-07 16:31

ציטוט:

נכתב במקור על ידי Eran-s (פרסם 531405)
PHP קוד:

md5(time()); 

|קורץ|

הסתברות מאוד מאוד נמוכה ש2 אנשים יעלו קבצים באותה שניה, אבל עדיין הסתברות במיוחד אם האתר שלך גדול....
ככה שזה גם לא ממש טוב....
לעומת זאת, אם אתה בודק, לא יכול להיווצר מצב ...MD5 לא טוב לזה, מכיוון שהיא תחזיר אותו דבר לאותו מספר...היא לא הצפנה רנדומלית או משהו...

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



לפותח האשכול, מה הסיבה שאתה צריך את זה ממוספר לפי הסדר?

daMn 28-07-07 21:41

ציטוט:

נכתב במקור על ידי meshuga (פרסם 531409)

לפותח האשכול, מה הסיבה שאתה צריך את זה ממוספר לפי הסדר?

גלשתם כבר לנושא אחר *_*

אני רוצה סדר מסוים של תמונות כי יש לי סדר מסוים של משחקים שאני מציג גם במספרים מסודרים.

אני חושב שאני פשוט יעשה את זה עם מסד ועם id, נראה לי הכי פשוט ...
אלא אם יש אפשרויות אחרות...

4ior 28-07-07 22:01

תעשה את מה שכתבתי, כתבתי לך את כל השלבים.


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

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