/ / Php. עבודה עם קבצים וספריות

PHP. עבודה עם קבצים וספריות

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

עקרונות היסוד של העבודה

Базы данных удобны, но каждый разработчик должен לפחות יש כמה ידע בסיסי על איך לקרוא ולכתוב קבצים. אולי רבים ישקפו את השאלה: "למה אני צריך לדעת את זה?" אם אני משתמש בקבצים, הם כתובים ב- XML, ואני פשוט משתמש במנתח ".

הלמידה PHP

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

  1. כדי להעביר נתונים בינאריים (לדוגמה, קבצי תמונה) למסד הנתונים BLOB (אובייקטים גדולים בינאריים).
  2. ייבא נתונים (למשל, כתובות דוא"ל) שיוצאו ממסד נתונים מיושן או מיושן.
  3. כדי לייצא ממאגר המידע לקובץ טקסט לעיבוד לא מקוון.

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

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

הם יכולים לומר:

  • על הגודל;
  • לתת מידע על מתי בפעם האחרונה הוא ניגש;
  • לספר על הבעלים וכו '.

עדיף ללמוד את כל התכונות הבסיסיות לעבודה עם קבצים ב- PHP. זה יהיה מאוד להקל על העבודה.

היסטוריית הקובץ

ייתכן שיהיה עליך לדעת את הזמן של העריכה האחרונה של הקובץ. במקרה זה, הפונקציות מגיעות להצלה: fileatime (), filemtime () ו- filectime ().

תכנות עם PHP

כאן, הקוד מאחזר את חותמת הזמן של הגישה האחרונה ומציג אותה:

  • C: Windowsfile.ini הוצג ב 19 בספטמבר 2018 4:34 pm.
  • C: Windowsfile.ini השתנה יום שישי 8 אוקטובר, 2018 2:03.
  • C: Windowsfil.ini השתנה ביום שלישי 16 דצמבר, 2017 4:34.

הפונקציה filectime () מציג את הזמן של שינוי של מידע שונים הקשורים לקובץ (לדוגמה, זכויות גישה) ו- filemtime () - משנה את הקובץ עצמו.

הפונקציה date () שימשה לעיצוב חותמת יוניקס שהוחזרה על ידי פונקציות קובץ * (time).

קובץ או לא?

כדי לברר אם זה באמת עובד עם קבצים ב- PHP, אתה יכול להשתמש בפונקציה is_file () או is_dir () כדי לבדוק אם היא ספרייה.

פלט קוד לדוגמה:

  • C: קובץ Windowsfile.ini.
  • C: Windowsfile.ini אינו ספריה.

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

הרשאות קבצים

לפני עבודה עם קובץ, אתה יכול לבדוק אם הוא קריא או לכתיבה. לשם כך, השתמש בפונקציות is_writable () ו- is_readable ().

פונקציות אלה מחזירות ערך בוליאני ומסבירות אם ניתן לבצע את הפעולה בקובץ.

הקוד מציג את הערכים הבאים על המסך:

  • C: Windowsfile.ini נקרא.
  • C: Windowsfile.ini אינו כתוב.

באמצעות מפעיל ternary, תוכל לציין אם הקובץ זמין או לא.

גודל הקובץ

כדי לברר את גודל הקובץ, עליך להשתמש בפונקציה filesize (). הוא יוצג בבתים.

עבודה עם PHP

הפונקציה תציג את הפריטים הבאים:

  • C: Windowsfile.ini הוא בגודל 510 בתים.

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

אם הקובץ עדיין לא נוצר, הפונקציה filesize () תצביע על False ועל שגיאה. לכן, תחילה לבדוק את הקובץ עבור קיומה של הפקודה file_exists הצורך ().

את file_exists () יש לבדוק כמעט תמיד עבור אבטחה.

קריאת קבצים

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

עבודה ב PHP עם קבצים ini

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

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

כדי לעבוד עם fopen (), אתה צריך שני ארגומנטים:

  • לפתוח את הקובץ;
  • מצב המשמש במקרה זה הוא "r" לקריאה.

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

ערכי המצב הנפוצים ביותר
מצב משמעות מיקום הסמן אם הקובץ אינו קיים?
עמ ' לקריאה בלבד תחילת הקובץ ייתן שגיאה
ב רק הרשומה תחילת הקובץ ליצור חדש
א רק הרשומה סוף הקובץ ליצור חדש

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

";}
בעוד (! feof ($ file1));
fclose ($ file1);

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

כתיבת קבצים

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

עבודה עם קבצי PHP ו - ini

הדוגמה הבאה תשתמש במצב "a" לכתיבה.

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

הקבוע מראש PHP_EOL מוסיף תו חדשני ספציפי לפלטפורמה שבה PHP פועל עם קבצי טקסט.

תוכן הקובץ לאחר ביצוע הקוד הנ"ל אמור להיראות כך:

  • בננה;
  • סין.

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

הנה הדוגמה זהה לעיל, אבל הפעם באמצעות file_put_contents ().

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

אהבתי:
0
הודעות פופולריות
התפתחות רוחנית
מזון
© 2018, "Paulturner -Mitchell.com". השימוש בחומרים המפורסמים באתר מותרים בתנאי שהקישור ל- "Paulturner -Mitchell.com".
כן