356
צפיות
צפיות
10
תשובות
תשובות
הצגת קבצים שונים למשתמשים שונים.
אני רוצה לדעת איך אפשר להציג תוכן של תיקיות שונות למשתמשים שונים.
לדוגמא:
לקוח שהשם משתמש שלו הוא "X" מכניס שם משתמש וסיסמה וואז הוא מגיע לדף שמציג לו את כל הקבצים שנמצאים בתיקייה "X".
לקוח אחר ששם המשתמש שלו הוא "Y" נכנס ומגיע לדף שמציג את כל הקבצים שנמצאים בתיקייה "Y".
מה שתיכננתי לעשות זה להפנות כל משתמש לקובץ אחר וכל קובץ יציג תיקייה אחרת. אבל אח"כ חשבתי על זה והבנתי שזה טפשי כי זה המון עבודה וזו המון התעסקות להכניס משתמשים חדשים.
עשיתי כמה נסיונות אבל אף אחד מהם לא עבד.
תודה רבה!
10 תשובות
ועוד משהו קטן
אני רוצה שהמשתמשים יוכלו גם להוריד את הקבצים ולא רק לראות אותם. לא כל-כך הבנתי איך לעשות את זה.
שוב תודה
זה לא בעיה לעשות את זה אבל זה בעיה
לעשות לכל משתמש.
אתה יכול לעשות בקוד asp פשוט שאם נגיד שם המשתמש הוא "***" אז זה היכנס לדף U.
ככה:
if username=**** then
response.Redirect(U(
else
if ………………………..
אתה זה אתה בטוח יודע וזה נירא לי הפיתרון הכי טוב אפילו שאתה יכל נגיד לעשות בטבלה בדטה בס עמודה של קישור או אך שאתה ררוצה ליקרוא לה ואז ליכתוב בה את הלינק לדף וספרטים שניכנסים להוציא דרך קוד sql פשוט את הכתובת של העמוד מהטבלה ולעשות response.Redirect לכתובת.
יכל להיות שישנן עוד דרכים כמעט בטוח שכן אבל אלא הדרכים הכי פשוטות לפי דעתי והכי טובות.
כן, זה מה שהתחלתי לעשות
(ז"א רישורים בטבלה של הדטה בס) הבעיה היא שזה אומר לעשות קובץ נפרד לכל משתמש, ולהוסיף קובץ בכל פעם שמתווסף עוד משתמש. רציתי לדעת אם אפשר לעשות את זה עם קובץ אחד לכל המשתמשים. אבל אם אי-אפשר או שזה מסובך מדי אז לא חשוב.
דרך אגב גם אם זה מסובך, אני יכול לנסות ללמוד.
תודה בכל אופן.
ועוד משהו, אתה יודע אולי איך לעשות שיהיה אפשר להוריד את הקבצים ולא רק לראות אותם?
הקטע קוד שלי הוא:
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
שוב תודה
אין שום בעיה לעשות את זה בקובץ אחד.
אתה פשוט מחליף את ה 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
וכמו שאתה יכול לראות, בקוד הזה יש גם קישורים לקבצים עצמם.
תודה רבה
זה עובד טוב אבל,
יש בעיה עם העברית
כאשר אני מקודד ל(hebrew(windows אפשר לראות רק את השמות של הקבצים וכשאני מקודד לUNICODE אפשר לראות רק את מה שכתוב בHTML. למה זה קורה?
לא קוראים לקבצים בשמות בעברית
על מה אתה עובד?
אם אתה עובד על *NIX תיבדוק לאיזה charset מכוונת המחיצה ב fstab ואז תשנה לזה את הקידוד של הדף.
אם אתה עובד אם PHP ביכלל, אתה יכול לשנות קידוד לבאופן דינמי למחרוזות בעזרת iconv.
אבל יקירי, מדובר על asp…
נסה להשתמש ב "Response.charSet = "windows-1255 וכמובן ב codepage=1255.