כשאתה עושה echo בדף PHP הטקסט נשלח לדפדפן מיד.
ואם עברו נגיד 5 שניות ואז כתבת שוב echo בעצם הם הגיעו לדפדפן בהפרש של 5 שניות.
כשאתה עושה OB_START זה במקום לשלוח מייד, זה מכניס את כל ה פלט שאתה תוציא לתוך אוגר(משנה כל שהוא)
וכשנגמר הדף אז זה שולח הכל לדפדפן.
בכל קובץ שמגיע בHTTP השרת שולח קודם
(header שזה בתרגום חופשי אומר הדברים שבקדימה/ראשונים)
מידע על הקובץ, זה יכול להיות תאריך שינוי, קידוד הדף ועוד.
דוגמא לכזו פיסת מידע:
קוד:
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Etag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; charset=UTF-8
אחד הדברים שנשלחים בheadres זה הפקודה ליצירת עוגיה.
אז אם כבר שלחת משהו מדף שלך לדפדפן אז הheaders כבר נשלחו
ואם פתאום באמצע הדף החלטת שאתה רוצה לשלוח עוגיה אתה לא יכול.
ציטוט:
Headers already sent in...
|
אז OB_start עוזר לנו בזה שהוא שומר את כל הפלט שאנחנו רוצים לשלוח ורק אחרי שסיימנו את הדף(ולקבוע את העוגיות שלנו)
הוא שולח את כל ההדרים והפלט.