בעעעע

bnayal

New member
בעעעע

תראו:
<html dir="ltr"> <?php // get contents of a file into a string $d = "http://tevel.co.il/tevelnew/AllChannel.asp"; $file = fopen ($d, "r"); feof ($file); $y = implode("\n",file($d)); $x = '/class=Text1>(.*?)<.span>/'; $l = 0; $m = 1; $q = 0; $f = 0; $u = '/Chl=(.*?)&PageName/'; preg_match_all ($x, $y, $o, PREG_PATTERN_ORDER); preg_match_all ($u, $y, $k, PREG_PATTERN_ORDER); while ($f <= 125){ if ($o[1][$l] == ""){ break; } else if($o[1][$l] == " "){ $l++; $q++; } else { print '<b>'.$m.'</b> '.$o[1][$l].' - '; print $k[1][$m-1].'<br>'; // get contents of a file into a string $aa = "http://tevel.co.il/tevelnew/DayShowResult.asp?Chl=".$k[1][$m-1]."&PageName=1"; $i = implode("\n",file($aa)); $p = '/ class=text1>(.*?)<.span>/'; $r = '/ class=text2>(.*?)<.span>/'; $v = '/ShowId=(.*?)&ChannelId/'; preg_match_all ($r, $i, $n, PREG_PATTERN_ORDER); preg_match_all ($v, $i, $z, PREG_PATTERN_ORDER); $ss = 0; $oo = 0; while (preg_match_all ($p, $i, $w, PREG_PATTERN_ORDER)){ if ($w[1][$ss] == ""){ break; } else { $w[1][$ss] = str_replace(" ", "", $w[1][$ss]); print ' '.hebrev($w[1][$ss]).' - '; print $z[1][$ss].' - '; print $n[1][$ss].'<br>'; $ss++; } } $m++; $l++; $f++; } } echo 'םיצורע <b>'; echo ($l - $q); echo '</b> םנשי '; fclose ($file); ?> </html>​
הקוד הזה מציג לי רשימה של כל ערוץ והתוכניות שיהיו בו היום בעזרת לולאות. הבעיה היא שזה לוקח מלאאאאאאאא זמן לעשות את הכל ואחרי 30 שניות השרת עוצר את הפעולה. מה עושים בשביל לקצר את הזמן? על תצחקו על הקוד המסורבל שלי
 

bnayal

New member
אה? שכאילו

יהיה דף אחד שאני יקרא לו ככה: page.php?chnl=500 ואז הדף הבא יהיה הערוץ הבא? אני רוצה לחסוך בזמן, לא למצוא דרכים לרמות את השרת. תודה
 

WebKiller

New member
תקשיב

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

אמיר ט

New member
המ...

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

bnayal

New member
תראה

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

bnayal

New member
מה שיהיה בעצם זה

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

bnayal

New member
מישהו אמר לי

שאפשר להגדיר לשרת שיריץ עמוד מסויים בשעה כזאת וכזאת כל יום. זה נכון? אם כן, איך עושים את זה?
 

lizard

New member
זה חשוב כי אם אתה על לינוקס

אני יכול לעזור לך ואם לא אז לא.
 

bnayal

New member
אני כמעט בטוח שכן, זה לא שרת שלי...

אני ישמח לשמוע...
 
למעלה