אחסון קבצים שהוגשו על ידי המשתמש במסד נתונים של MySQL

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

בשלב הבא עליך ליצור את process.php, את הדף שאליו הטופס שלנו שולח את הנתונים שלו. להלן דוגמה לאיסוף נתונים אלה לצורך פרסום במסד הנתונים MySQL:

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

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

הדבר הראשון שאתה צריך לשים לב הוא שדה שנקרא מזהה זה מוגדר AUTO_INCREMENT. מה זה סוג מידע פירושו שהוא יספור כדי להקצות לכל קובץ מזהה קובץ ייחודי החל מ- 1 ועובר ל- 9999 (מכיוון שציינו 4 ספרות). סביר להניח שתבחין ששדה הנתונים שלנו נקרא LONGBLOB. ישנם סוגים רבים של BLOB כפי שהזכרנו בעבר. TINYBLOB, BLOB, MEDIUMBLOB ו- LONGBLOB הן האפשרויות שלך, אך אנו קובעים את שלנו ל- LONGBLOB כדי לאפשר קבצים גדולים ככל האפשר.

instagram viewer

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

בשלב הבא עלינו ליצור upload.php, אשר ייקח את קובץ המשתמשים שלנו ויאחסן אותו בבסיס הנתונים שלנו. להלן קידוד לדוגמא עבור upload.php.

בשלב הבא הוא משתמש ב- תוספות פונקציה. מה שכן הוא להוסיף צירוף נפץ במידת הצורך לשם הקובץ, כך שלא נקבל שגיאה כשאנחנו מבקשים לבצע את מסד הנתונים. לדוגמה, אם יש לנו את Billy'sFile.gif, זה ימיר את זה ל- Billy'sFile.gif. פופן פותח את הקובץ ו- פריד הוא קובץ בטוח בינארי הנקרא כך ש - תוספות מוחל על נתונים בקובץ במידת הצורך.

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

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

כעת כדי לאחזר את הקובץ שלנו, אנו מכוונים את הדפדפן שלנו ל: http://www.yoursite.com/download.php? id = 2 (החלף את ה- 2 בכל מזהה הקובץ שתרצה להוריד / להציג)

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

בדומה לקוד הקודם שהוריד קבצים, סקריפט זה מאפשר להסיר קבצים רק על ידי הקלדת כתובת האתר שלהם: http://yoursite.com/remove.php? id = 2 (החלף 2 בתעודה שאתה רוצה להסיר.) מסיבות ברורות אתה רוצה היזהר בקוד זה. זה כמובן להפגנה, כאשר אנו בונים בפועל אפליקציות נרצה להכניס אמצעי הגנה לכך שאל את המשתמש אם הוא בטוח שהוא רוצה למחוק, או אולי רק לאפשר לאנשים עם סיסמה להסיר קבצים. הקוד הפשוט הזה הוא הבסיס עליו נבנה כדי לעשות את כל הדברים האלה.

instagram story viewer