![]() |
# 1 |
חבר על
|
[שאלה] הפונקציה ob_start
תהרגו אותי... לא הבנתי כלום מההסבר של php.net
מה הפונקציה הזאת בדיוק עושה?? מסוכנת לקוד באיזה שהוא מובן? (יוצרת פרצות אבטחה לדוגמא) מכבידה על השרת? והכי חשוב, איך היא משפיעה על הקוד מה היא עושה? תודה לעונים |
![]() |
![]() |
# 2 |
הוסטסניון
|
זה כדי לבטל שגיאות של הדרים ששולחים אחרי פלט (כמו למשל ליצור עוגייה אחרי שהדפסת משהו)
__________________
|
![]() |
![]() |
# 3 |
חבר על
|
מה יוצר את השגיאה....
עבודה חכמה אמורה לאפשר כתיבת תוכנה בלי הפונקציה הזאת לא? |
![]() |
![]() |
# 4 | |
משתמש - היכל התהילה
|
כשאתה עושה 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 אז אם כבר שלחת משהו מדף שלך לדפדפן אז הheaders כבר נשלחו ואם פתאום באמצע הדף החלטת שאתה רוצה לשלוח עוגיה אתה לא יכול. ציטוט:
הוא שולח את כל ההדרים והפלט.
__________________
קו ישר, כי אפשר גם אחרת |
|
![]() |
![]() |
# 5 |
חבר וותיק
|
בקיצור הוא לא מסוכן ולא מכביד ולא כלום זאת פונקצייה מצויינת לשימוש בדברים שקשורים לאדרים באמצע הדף...
|
![]() |
![]() |
# 6 |
משתמש - היכל התהילה
|
אולי לוקח קצת יותר זיכרון.
אבל כן, זה טוב למקרים כאלה.
__________________
קו ישר, כי אפשר גם אחרת |
![]() |
![]() |
# 7 |
תודה על תרומתך.
|
שאם ילמדו לתכנת נכון, לא יצטרכו להשתמש בה בכלל.
המקרה היחידי האמיתי אולי שאני רואה שמצריך שימוש בפונקציה הזאת זה כשרוצים לכווץ את משקל העמוד בעזרת HANDLER מסויים ומשתמשים בה. שזאת אפשרות מצויינת מעבר לזה, סדר אף פעם לא הזיק לאף אחד.
__________________
|
![]() |
![]() |
# 8 |
חבר על
|
בניה תודה רבה על ההסבר המפורט
RS324 (איך קוראים לך ד"א? :P) איך אתה יוצר עוגיה למשל בראש העמוד לפני כל פלט כל שהוא אם אתה צריך לעשות בדיקה למשל?... אשמח לשמוע על דרכים להמנע מהפונקציה הזאת למרות שלי מה שהבנתי היא לא מזיקה כל כך |
![]() |
![]() |
# 9 | |
הוסטסניון
|
ציטוט:
עוד סיבה למה לא להדפיס HTML בתוך הקובץ ולא שום הודעה, משתמשים במערכת Templates והיא מדפיסה את התוכן בסוף ולכן השגיאה לא נוצרת.
__________________
מפתח ומתחזק אתרים. |
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|