מחשבים, סוגי קבצים
PHP: קריאה-קובץ PHP. עבודה עם קבצים ב PHP: קריאה, כתיבה, והמלצות
PHP הופיע הרבה יותר מאוחר מאשר בשפות תכנה חזקו את עמדותיהם, לגבש רעיון כללי אודות התחביר, לוגיקה, משתנה, וחפצי תכנות אחרים. קבצים ופונקציות עובדים איתם לא היו התקדמות, ואפילו את הבעיה של הצפנת קבצים שעלו מסיבות טבעיות, לא להוביל פתרונות חדשים לחלוטין.
הערות כלליות
עיקר העבודה עם קבצים, יהיה אשר יהיו, היא לפתוח, קריאה / כתיבה וקרובה. אתה יכול להשתמש בפונקציה לנעול / לפתוח גישה לקובץ בעת עיבוד, יכול להיות מותקן קריאה / כתיבה עמדת בקובץ - כל, כמו בעבר, בעבר הרחוק.
היבט חשוב של PHP הוא עודף של פונקציות לעבודה עם קבצים ואת אפשרויות השימוש בם. בפועל מספיק כדי להשתמש באפשרויות פשוט אבל עובד. קובץ - זהו, קודם כל, את זיכרון התכנית. אפשר לאחסן מידע. המטרה של כל תוכנית, לצורך של כל אתר - לייצג, לנהל ולהבטיח את אבטחת המידע.
עובדה חשובה
זה היה אמור להיות דרישה משתנה של תאימות לפחות מלמטה למעלה. כלומר, פעם בתכנית כתובה גרסה אחת של שפת תכנות הידור בצורה מושלמת / להתפרש על הגרסה הבאה. בתכנות של היום הוא לא. תחביר דרישת תאימות של שפת ירד בהיסטוריה כמאבקת בין סגנונות תוכנה והגירסות של מכשירים שונים הפכה לנורמה של חיים.
עבודה עם קבצים, כמו מאגרי מידע, כל כך חשובים, עד כמה חשוב ממשק האתר. הראשון להיבנות באופן כזה שכאשר תשנה פלטפורמה, אירוח, גרסה של השפה לא צריך לשנות את קוד האתר. ממשק ניהול קובץ צריך להיות ממוקם סקריפט נפרד כדי להבטיח תאימות מלאה, כמו גם עיצוב אתר צריך להתאים כראוי לכל מכשיר, דפדפן, ולספק את שאר הפונקציונלי של האתר אותן ההזדמנויות.
קרא ושנה את עצמך
האם התוכנית עצמה לשנות, כלומר, האם צריך לשפר את התסריט? עד עצם היום הזה, שאל עניין רב. אבל זה נשמע הרבה פעילות מעשית יותר: PHP PHP קריאת קובץ. לא תמיד היזם יכול לפתור בעיה כזאת או אחרת על ידי כתיבת קוד ספציפי. לפעמים אתה צריך לשנות את זה כאשר מבקר באתר בא ועשינו לא בחזונו בשלב של התפתחות הנושא.
כמו בכל המקרים האחרים, אתה צריך קודם כל לפתוח את הקובץ. זה לא משנה, יש את הקובץ או לא. אם אתה יודע שהקובץ קיים (פונקצית file_exists () נותן תשובה חיובית), המשמש fopen () function גישה 'R', 'r +', 'A', 'A +'. אם עדיין אין לך את הקובץ, אז הגישה 'a', 'A +', 'w', 'w +'. התוצאה תפתח את מתאר הקובץ. סוגר את הקובץ fclose (פונקציה).
זה נוח להשתמש PHP כדי לקרוא את הקובץ למערך כאשר אין צורך לטפל בזמן הקריאה.
אם (file_exists ($ fname)) {
קובץ $ ALines = ($ fname)
}
בשנת התגלמות זו, כל שורה בקובץ מסומנת ב ברצף אלמנט במערך. יצוין כי תיק הפונקציה () או file_get_contents () לא צריך לפתוח קובץ ולסגור אותו.
כאשר קובץ הקלט הוא גדול מדי ועליך למצוא לא מעט מידע, או מסיבות אחרות, אתה יכול להשתמש PHP לקרוא את השורה בקובץ ידי קו. PHP מספקת את היכולת לעשות fgets כי () ו fgetc ().
$ הדרדרות = ''
= Fvs $ fopen ($ fname, 'r')
ואני $ = 0
בעוד ((שקר! == ($ קליין = fgets ($ fvs, 2000)))) {
$ I ++
$ הדרדרות. = '
'. $ I. "). ". $ קליין
}
fclose ($ fvs)
שתי האפשרויות לעבוד בצורה מושלמת. עם זאת, ביצוע קובץ PHP PHP קריאה עבור שינויים נוספים, יש לנקוט באמצעי זהירות. זה לא יכול להיות מסופק תמיד בשלב של התפתחות האפשרויות באתר לשימושו על ידי המבקר. עדיף אם שינוי התסריט מתבצע בתוך תכונות האתר, וניהול של שינוי זה אינו גלוי למבקרים, כולל מנהל משאבים.
שמירת תוצאות
אחזור ועדכון מידע מאוחסן בקובץ fputs () קו פונקציה או פונקציה file_put_contents () לחלוטין.
$ Fname = $ _SERVER [ 'DOCUMENT_ROOT']. '/tmp/scData.php'
= Fvs $ fopen ($ fname, 'א')
נוהרים (fvs $, LOCK_EX)
$ קליין = '1 קו'. chr (10)
fputs (fvs $, $ קליין)
$ קליין = '2 קו'. chr (10)
fputs (fvs $, $ קליין)
fflush ($ fvs)
נוהרים (fvs $, LOCK_UN)
fclose ($ fvs)
בשנת ההתגלמות, קו ההקלטה על ידי קו, אפשר לתפעל את הנתונים במהלך תהליך ההקלטה, במקרה השני, המערך לצריבה או בשורה ממוקם הקובץ כולו.
קובץ $ = 'scData.php'
= CContents $ file_get_contents (קובץ $)
// להוסיף ערכים
$ CContents. = "N \ ערך חדש"
// פריט הקובץ בחזרה
file_put_contents (קובץ $, $ cContents)
קריאה וכתיבה של קבצי PHP היא פשוטה וטבעית. עם זאת, חשוב לזכור: כל קובץ יש שם, רחבה ו נתיב (תיקייה). כדי תסריט PHP יש את היכולת לקרוא ולכתוב קבצים, התסריט הזה חייב בעל הזכויות המתאימות. הם אוטומטית להשלים עבור אירוח, אך במקרים מסוימים, הם רוצים להרחיב.
בחלק מהמקרים, רצוי לבדוק את התוצאות, הקריאה המבחן. כתיבת PHP קבצים נדרשת בשלב הפיתוח, אך במקרים מסוימים, האינטרס של הבטיחות או אמינות של הקלטת נתוני בדיקה באתר חיונית.
מאפיין של PHP, MySQL, JavaScript, ובמיוחד דפדפנים: נסיעה שקטה כמה טעויות. "אני לא מכיר, לא עושה את זה ..." - לא נוהג טוב של הקצה הקדמי של טכנולוגיית מידע, אבל זה מלמד מפתחים לא לעשות טעויות ולכתוב נקי, קוד איכותי, שהוא גם טוב.
PHP ועבודה עם מסמכים אמיתיים
PHP PHP קריאת קובץ, כמובן, הוא עניין מעשי, אבל בתחום התכנות הזאת. לקוחות ומבקרים המעוניינים האופי מוחל של מידע, אשר הוא נוהג לראות בצורת טבלאות ומסמכים, בפרט, בפורמטים * או .xlsx ו * .docx קבצים. אלו הם קבצי MS Excel ו- MS Word.
רשימות מוצרים, מחירים, תכונות מקובלות ליצור בצורת טבלאות, כך PHP קריאת קובץ Excel חיונית.
כדי לעבוד עם קבצים אלה נועדו PHPExcel ו PHPWord ספרייה. עם זאת, את התוכן של קבצים * או .xlsx ו * .docx מיוצג תקן OOXML, אז אין הבנה אמיתית של המסמך הזמין מוגשת קובץ zip. ארכיון Zip - הוא קבוצה של קבצים, כולל תמונות, חפצים, נוסחות, הדבקה מתוכניות אחרות. קבצי טקסט תיאור בצורת התגיות. קראו את הקובץ הוא קטן, יש צורך להבין, כדי לקבל את התוכן והמבנה להשתמש ולשנות.
משמעות הדבר היא כי פעולת הקריאה מומרת פתיחת תהליך הארכיון. ספריות אלה ספריית מסמך פתוחה עצמך ונותן למפתחים פונקציות נרחבות עבור קריאה, עיבוד ותיעוד של מסמכים כאלה.
אקסל-שולחן
על מנת לקרוא את טבלת אקסל, זה מספיק כדי לדעת את השם של הקובץ ואת הנתיב אליו (xls $). כתוצאה מערך הקוד הבא של ערכים גיליון אלקטרוני של Excel המקורי יופק:
include_once 'PhpOffice / PhpExcel / IOFactory.php'
לתפקד scGetExcelFile (xls $) {
$ ObjPHPExcel = PHPExcel_IOFactory :: עומס (xls $)
$ ObjPHPExcel-> setActiveSheetIndex (0)
// מערך זה מכיל מערכים של שורות
$ ASheet = $ objPHPExcel-> getActiveSheet ()
Array = מערך $ ()
// עיבוד
foreach ($ aSheet-> getRowIterator () כמו שורה $) {
$ CellIterator = $ משוטים> getCellIterator ()
פריט = מערך $ ()
foreach (cellIterator $ כמו תא $) {
array_push ($ פריט, iconv ( 'utf-8', 'cp1251', $ cell-> getCalculatedValue ()))
}
array_push ($ מערך, $ פריט)
}
לחזור $ מערך
}
קריאה ועיבוד-קובץ Excel הרבה עיבוד מורכב יותר של מסמכי Word. האפשרות הטובה ביותר אם אתה צריך ליישם פרויקט מרכזי לקריאה ועיבוד מידע היישום - ספריית המאסטר הראשונה PHPWord. זה ייתן חוויה טובה רשומה מהר לתוך הפרטים של הנושא.
מסמכי Word
רק שתי שורות:
$ OWord = \ חדש PhpOffice \ PhpWord \ PhpWord ()
$ ODocx = $ this-> oWord-> loadTemplate ($ cFileName)
עכשיו המסמך זמין עבור עיבוד $ cFileName. הבא, לפתוח את הארכיון, לבחור ולנתח את תוכנו, אשר יכולים להיות מוצגים באתר, שינוי ולכתוב בחזרה.
$ ZipClass = ZipArchive חדש ()
$ ZipClass-> פתוח ($ this-> tempFileName)
// לקרוא את כל התוכן של המסמך
עבור ($ i = 0; $ i <$ zipClass-> numFiles; $ i ++) {
$ CNameIn = $ zipClass-> getNameIndex ($ i)
substr = CNameInExt $ ($ cNameIn, -4)
אם (($ cNameInExt == '.xml') || ($ cNameInExt == 'rels')) {
קבצים // עם סיומת ".xml" ו" .xml.rels' מאוחסנים במסמך השולחן
// כל-מחרוזת XML כתובה עם מספר ייחודי של הצו
$ CBodyIn = $ zipClass-> getFromName ($ cNameIn)
strlen = CBodyInLen $ ($ cBodyIn)
} Else {
// כל הקבצים האחרים שמאוחסנים בתיקיית המסמך בצורה כפי שהוא
$ CNameOnly = substr ($ cNameIn, strrpos ($ cNameIn, '/') + 1)
ZipClass- $> getFromName ($ cNameIn, $ cWorkPath); // תוכנו של קובץ
}
ההזדמנויות המוצעות באמצעות PHP Excel ו- PHP Word, מאפשרים לך לתפעל את המסמכים האמיתיים, מה שהופך אותם תוכן רלוונטי בכל זמן נתון. בעולם הדינמי של היום, הוא הופך להיות חשוב מאוד. מרכז הכובד עבר ארוך משימוש המקומי של טכנולוגיית מחשב במרחב האינטרנט הווירטואלי. בגלל יצירת גליונות אלקטרוניים ומסמכים במוצרים מקומיים ממיקרוסופט היא פחות אפקטיבית מאשר לעבוד עם מסמכים כאלה במצב אוטומטי או חצי אוטומטי, באתר, אשר זמין לא רק היוצר של השולחן או מסמך, אלא גם לקוחותיה.
קבצי טקסט, חיים עוד
כטקסט קירוב ראשון קבצים קלים יותר מאשר קבצי PHP או מסמכי בקשה. עם זאת, יש משהו לחשוב עליו. קריאה / כתיבה קבצי פעולות כאלה כבר זיהו לעיל, אבל הרבה יותר חשוב המשמעות של קבצים כאלה.
קוהל הוא כזה במציאות, הלקוח והשרת (ב שלטונם הראשון JavaScript, על השני - PHP), אפילו מנגנוני עוגיית הפעלות לא יכולים להתמודד עם הצורך להעביר מידע בין סקריפטים, דפים, אלה או תהליכים אחרים.
אפשר לשקף את השינויים הדרושים למסד הנתונים, אבל עבור כל לגופם וקטנים במהירות קבצי טקסט זמניים או קבועים יכולה להיות הרבה יותר אפשרות העברת מידע מעניינת. אם אינך ליצור הרבה קבצים קטנים לשלוט בגודל שלהם, הם יכולים להיות ספציפי גרסה גמישה יותר של מסד הנתונים.
PHP לקרוא קובץ טקסט הוא מהיר, זה יכול להיות לפרק מיד את המבנה, מערך או אובייקט. זה האחרון הוא חשוב מאוד שכן היא מאפשרת לך ליצור אובייקטים לחיות מחוץ הזמן שהוקצה סקריפט PHP, אשר ידוע להתקיים רק על השרת, ורק כאשר הדף נטען, היווצרות תגובת AJAX או מכל סיבה אחרת, קוראה את ההשקה של מתורגמן PHP.
רעיונות מבטיחים, ייעוץ
אם אתה חושב על העובדה כי קובץ טקסט - זה התוכן והמבנה של היזם, קובץ PHP - מתורגמנית תחביר פלוס היגיון Developer ו "מתויג" תיאור של HTML, CSS, XML - זה אלמנטים סמנטיים יותר, אבל הסטנדרטים סטטי מוסדרים. אתה יכול להגיע למסקנה כי ככל הנראה להגיש הגיעו זמן לקנות תוכן חדש, וזה חייב עצמו לקבוע היגיון האיכות ויישומם. זה בגלל התכנות הוא עדיין לא מוכן לשלב הבא של ההתפתחות שלה, את הקבצים עכשיו הם פשוט קבצים כי היזם יוצר ומגדיר את השימוש בהם.
קובץ PHP PHP המעניין והמבטיח ביותר בעת הקריאה מתרחש באופן אוטומטי בעת הצורך. המוני חבלי קריאה PHP פשוט מקובץ מוביל ליצירת האובייקט, לפחות באותו מצב שבו הוא ניצל. זה לא בדיוק הרעיונות כרגיל, אך כי הכל משתנה כל כך מהר בעולם של היום.
Similar articles
Trending Now