![]() |
PHP | סוג של מטמון ל file_get_contents
אני משתמש בפונקציה file_get_contents כדי להוציא פרטים מדף מסוים שלא נמצא על השרת שלי.
הכל עובד טוב, רק חבל שזה נטען הרבה מאוד זמן. ראיתי איפשהוא שאפשר לעשות מין cache (מטמון) לפקודה. מישהו יכול לעזור לי? |
ומה עם ההאפשרות להוריד את הקובץ לשרת שלך ?:-0
|
ציטוט:
(הקובץ מתעדכן כל כמה שעות, אפילו דקות, אני רוצה להגדיר שיוריד לי אותו לשרת כל שעתיים). |
עקרונית, אם תשתמש ב CURL תוכל לקצץ יותר מחצי מהזמן טעינה עבור הקובץ.
|
אני מנסה להוציא את הדף הבא -
PHP קוד:
קוד:
Warning: curl_setopt(): supplied argument is not a valid cURL handle resource in /home/hbang/domains/galils.info/public_html/source/sidebar.php on line 445 |
לא עובדים עם CURL ככה, תעיין כאן:
http://il.php.net/curl_init |
אוקיי, אתה יכול לעזור לי לשלב explode בתוך זה?
אני מנסה להוציא כמה שורות בלבד... PHP קוד:
עכשיו אני לא יודע איזה מהם לשים במשתנה. |
איזה ערך אתה רוצה להוציא?
|
ציטוט:
כשזה היה עם file_get_contents, שמתי אותו במשתנה $page ואז הכל היה פיקס. |
בגלל שאתה לא מפעיל את הcurl לא פועל לך תוסיף את השורות האלו:
PHP קוד:
|
ציטוט:
תודה רבה! זה עובד. (חבל שזמן הטעינה נשאר בדיוק אותו הדבר :() |
תעשה explode לפי הביטוי </description>
|
ציטוט:
|דמעות| זה עדיין איטי כמו שהיה. |
ציטוט:
הוא בכל זאת לוקח את כל המידע מהשרת ההוא וה-explode מעמיס עוד יותר. אני רואה בכל שאלה שלך כאן שצריך להפנות אותך ישירות לדף הסברים באתר php.net תנסה בעצמך, תרשום שם פונקציה לאחר www.php.net/ למשל www.php.net/explode ותשים לב שהפונקציה שלעיל מחזירה מערך... |
ציטוט:
איפה שיש " ", הוא מחלק את זה לחלקים שונים? הייתי כבר בדף ההסברים הזה, כל פקודה שמביאים לי כאן, אני בודק באתר. אגב, גם בלי explode זמן הטעינה הוא ארוך. |
ציטוט:
אין דרך לקצר את הטעינה הארוכה, גם אם שתי השרתים חזקים ביותר תהיה טעינה יותר איטית מדף רגיל בשרת שלך. רצית לפצל את המידע ולקחת מספר שורות, והשורות הללו יותר בתוך <description></description> אז תפצל לפי זה ואז תעשה למערך שנוצר print_r() כדי לראות באיזה מספר תא נמצא הערך שלך ותמשיך לשחק עם זה... |
אההה, עכשיו הבנתי למה אתה מתכוון.
אבל איך אני יכול להוציא את מה שנמצא בין description? זה מתחיל עם <description> ונגמר עם </description>. |
תראה, יש המון דרכים. אם זה תמיד נשאר בשורות שאתה צריך תקח את המידע בצורה הזו:
PHP קוד:
|
בכל מקרה זה אותו הדבר :(
יש איזה סקריפט מוכן של הדבר שאני מחפש - http://www.2send.us/uploads/35a9111469.zip הבעיה שאני לא רוצה להשתמש בזה כי אני לא יודע מה אני עושה. אתה יכול לעבור על זה מהר ולראות במה הם משתמשים שם? (אני לא הבנתי שום דבר בגרוש). |
הם ניתחו XML בעזרת פונקציות מובנות ב-PHP,
http://ch2.php.net/xml בכל אופן אם בשביל כמה שורות קצרות אני ממליץ על הדרך הקודמת. לי היא עלתה במהירות כשהרצתי, והדפיס את הערכים המתאימים. |
תעשה מטמון בעצמך.
תשמור את הקובץ במסד נתונים, וגם את הזמן האחרון שהוא נשמר שמה. ואם שעתיים עברו מאז הפעם האחרונה שהורדתה אותו, תוריד אותו מחדש. |
תשתמש ב regular expression בשביל למשוך <description></description> וזהו ..
PHP קוד:
|
אוקיי תודה לכולם, אבל זמן הטעינה נשאר אותו הדבר, לא משנה מה אני עושה.
בניה, עם איזה פקודה אני יכול להוריד קובץ לשרת? |
אתה יכול לקחת את התוכן שלו, ולשמור או במסד נתונים, או ליצור קובץ חדש עם FOPEN ולשמור את התוכן של מה שהורדת שמה.
|
|קורץ|
תודה בניה, לא חשבתי על זה :) אתה יכול לתת לי רעיון מה לעשות עם הזמנים? אני לא מצליח לחשוב על כלום, בהתחלה עשיתי אם השעה קטנה מ 17 אז תעדכן, אם לא פשוט תדפיס מה שכבר קיים, שחכתי שזה יעדכן כל הזמן עד השעה 17 :( בינתיים אני עובד עם sessions, אבל אני מעדיף שזה יעדכן כל 5 שעות בערך. |
אם אתה שומר במסד נתונים, תעשה עם זה תא שתקרא לו lasttime ותכניס לתוכו
את הערך של הפונקציה time() אם בקובץ, תשמור את זה בקובץ נפרד, או בצורה שנוחה לך. ואם אתה רוצה שזה יתעדכן כל שעתיים תעשה בדיקה אם הlasttime + 7200 שווה או גדול. מה time() של עכשיו. אם כן, תעדכן את המידע(ואל תשכח לעדכן גם את ה lasttime) ואז תציג את המידע. |
תודה, הסתדרתי.
|
בסוף הלכתי על השיטה שערן הציע לי, הקטע עם השורות.
אני מכניס רק את שלושת השורות שאני צריך לקובץ, ומדפיס אותם. עשיתי עוגיה שתמחק אחרי 5 שעות, בתנאי שיש עוגיה, להדפיס את התוכן בקובץ, else, להכניס את התוכן של העמוד לתוך הקובץ. ככה שגם אם הדף מתעדכן כל חצי שעה, הוא יתעדכן אצלי גם, כי כל גולש שנכנס פעם ב5 שעות מעדכן את הקובץ :). סליחה על הדאבל, אי אפשר לערוך את ההודעה הראשונה. |
כל הזמנים הם GMT +2. הזמן כעת הוא 03:12. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ