שלח תשובה

זירת השאלות

356
צפיות
10
תשובות

הצגת קבצים שונים למשתמשים שונים.

,‏ 11 בינואר, 2005

אני רוצה לדעת איך אפשר להציג תוכן של תיקיות שונות למשתמשים שונים.
לדוגמא:
לקוח שהשם משתמש שלו הוא "X" מכניס שם משתמש וסיסמה וואז הוא מגיע לדף שמציג לו את כל הקבצים שנמצאים בתיקייה "X".
לקוח אחר ששם המשתמש שלו הוא "Y" נכנס ומגיע לדף שמציג את כל הקבצים שנמצאים בתיקייה "Y".

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

עשיתי כמה נסיונות אבל אף אחד מהם לא עבד.

תודה רבה!

תגיות:

10 תשובות

  1. ezbl הגיב:

    ועוד משהו קטן
    אני רוצה שהמשתמשים יוכלו גם להוריד את הקבצים ולא רק לראות אותם. לא כל-כך הבנתי איך לעשות את זה.
    שוב תודה

  2. somebody הגיב:

    זה לא בעיה לעשות את זה אבל זה בעיה
    לעשות לכל משתמש.
    אתה יכול לעשות בקוד asp פשוט שאם נגיד שם המשתמש הוא "***" אז זה היכנס לדף U.
    ככה:


    if username=**** then
    response.Redirect(U(
    else
    if ………………………..

    אתה זה אתה בטוח יודע וזה נירא לי הפיתרון הכי טוב אפילו שאתה יכל נגיד לעשות בטבלה בדטה בס עמודה של קישור או אך שאתה ררוצה ליקרוא לה ואז ליכתוב בה את הלינק לדף וספרטים שניכנסים להוציא דרך קוד sql פשוט את הכתובת של העמוד מהטבלה ולעשות response.Redirect לכתובת.
    יכל להיות שישנן עוד דרכים כמעט בטוח שכן אבל אלא הדרכים הכי פשוטות לפי דעתי והכי טובות.

  3. ezbl הגיב:

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

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(Server.mapPath("15"))
    Set files = folder.Files

    dim c :c=0
    For Each file in Files
    Response.Write file.Name & "<BR>"
    c=c+1
    Next

    שוב תודה

  4. זהר פלד הגיב:

    אין שום בעיה לעשות את זה בקובץ אחד.
    אתה פשוט מחליף את ה 15 שיש לך שם במשתנה…

    dim folderName, folderFullName
    folderName = Request("folderName") ' or from db, or from Session

    ' some code to validate folderName, for security

    folderFullName = Server.mapPath(folderName)
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(folderFullName)
    Set files = folder.Files

    dim c :c=0
    For Each file in Files
    Response.Write "<a href="""& folderFullName &"/"& file.Name &""">"& file.Name & "</a><br />"
    c=c+1
    Next

    וכמו שאתה יכול לראות, בקוד הזה יש גם קישורים לקבצים עצמם.

  5. ezbl הגיב:

    יש בעיה עם העברית
    כאשר אני מקודד ל(hebrew(windows אפשר לראות רק את השמות של הקבצים וכשאני מקודד לUNICODE אפשר לראות רק את מה שכתוב בHTML. למה זה קורה?

  6. jonatan44 הגיב:

    על מה אתה עובד?
    אם אתה עובד על *NIX תיבדוק לאיזה charset מכוונת המחיצה ב fstab ואז תשנה לזה את הקידוד של הדף.
    אם אתה עובד אם PHP ביכלל, אתה יכול לשנות קידוד לבאופן דינמי למחרוזות בעזרת iconv.

  7. זהר פלד הגיב:

    אבל יקירי, מדובר על asp…
    נסה להשתמש ב "Response.charSet = "windows-1255 וכמובן ב codepage=1255.

שלח תשובה