איך ניתן לחסום שמות קבצים מצורפים בעברית
הי לכולם !
כאשר אני מעלה קובץ מצורף עם שם בעברית הוא עולה לשרת אבל כאשר אני מסתכל במחיצת files אני רואה את שם הקובץ בגיבריש ולא ניתן לדעת באיזה קובץ מדובר
האם ניתן לחסום העלאה של קבצים מצורפים עם שם הקובץ בעברית , ומה הדרך הנכונה ?
האם הדרך הנכונה היא לכתוב מודול שיממש את hook_validate
לא מצאתי תיעוד איך אני שולף את שם הקובץ
האם יש אפשרות לתפוס את זה לפני (ז"א לאחר שהמשתמש בוחר את הקובץ להעלאה ?
אביאור
http://dev-art.net

hook_validate היה
hook_validate היה מתאים לו היית אתה כותב את המודול שמטפל בהעלאת הקבצים. האופן לבדוק ולאשר או לא את הקובץ שעולה, הוא ב- hook_nodeapi, עם $op של validate.
ישנן מספר פונקציות שמטפלות בהעלאת קבצים, ואתה גם תמצא את האובייקט שלך בתוך $node.
לעומת זאת, נראה לי שהפתרון הנכון הוא דווקא לטפל בקידוד על השרת, על מנת שתוכל לאחסן קבצים עם שמות בעברית (locale משהו...)
<
p>
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
<
p>
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
סליחה על
סליחה על הקצרנות... אני ממהר - אם זה לא יספיק לך על מנת לפתור את הבעיה - חדד את השאלה ונמשיך אח"כ
זהר
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
שמות קבצים
אני מסכים עם זהר, שאומר שכדאי לטפל בבעיה ולדאוג ששמות קבצים כאלה יהיו אפשריים.
מישהו צריך לחקור את הנושא הזה, של שמות קבצים שאינם ASCII, ולפרסם כאן עבור הקהילה את מסקנותיו. זה מופיע אצלי ברשימה של "דברים שאני צריך לעשות מתישהו".
יש כאן כמה גורמים שצריך לבחון: הדפדפן, השרת, מערכת הקבצים, מערכת ההפעלה, ואולי גם דרופל.
האם אתה עובד על שרת "חלונות", לצורך הפיתוח? כי יתכן שהבעיה שנתקלת בה לא קיימת בשרת היוניקס הסופי.
בנוסף, בדוק אם הבעיה קיימת כשהקבצים מוגדרים כפרטיים (דהיינו כשלדפדפן לא מוגשים קישורים ישירים אליהם). במצב זה דרופל עצמו קורא את הקבצים, ואז, אם הבעיה מקורה בכך שהשרת מנסה להיות "חכם" ולהמיר קידודים, היא לא תתרחש.
מערכות הקבצים של לינוקס, שאני מכיר, מתייחסות לשמות הקבצים כאל רצפי bytes ותו לא. הגישה הזו, של "אנא כורדי", ולא רק בעניין הזה, דווקא מוצאת חן בעיני. אגב, זה שונה למשל ממערכת הקבצים של חלונות, בה הקידוד הוא יוניקוד. כלומר, בלינוקס אין באמת קידוד לשמות הקבצים. לכן, במה שנוגע למערכת ההפעלה, אין כאן עניין עם locale, כי ברמת מערכת ההפעלה אין המרות של תווים. הבעיה עשויה להיות ביישומים, המפרשים את ה-bytes האלה.
אני, דבר ראשון, הייתי בודק באיזה קידוד ה"גיבריש" שאתה רואה. ואפילו סתם מתוך סקרנות.
ולא כתבת איפה את רואה גיבריש. "מתסכל במחיצה" זה כללי מדי. דרך ה-shell? דרך תוכנית GUI? דרך הדפדפן? זה מאוד משמעותי. וכמובן משמעותי לדעת אם זה לינוקס/יוניקס או חלונות.