הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאלה על file_get_contents (https://hosts.co.il/forums/showthread.php?t=82254)

dabi 24-04-10 19:51

שאלה על file_get_contents
 
אהלן
אני רוצה לקחת מידע מכמה דפים ע"י file_get_contents
פשוט מאוד
אבל לדוגמא אם אני רוצה לקחת מידע מ2 דפים שבעצם די דומים אבל שונים בטקסט
לדוגמא
http://www.ynet.co.il/articles/0,7340,L-3880048,00.html
http://www.ynet.co.il/articles/0,7340,L-3880015,00.html
מה ששונה זה רק הטקסט באמצע(של המאמר) אבל שאר הדף דומה
ומה שאני צריך בעצם זה רק הטקסט של המאמר(שאר הבאנרים והדברים זהים בשתי הדפים)
אם אני יקח את 2 הדפים ע"י file_get_contents ויוציא מהם את הטקסט ע"י(EXPLODE או ביטויים רגולרים)
אז לדוגמא כל עמוד שוקל 5 קילו בייט והטקסט מהווה רק 2 קילו בייט בסיום התהליך לקחתי כביכול 10 קילו בייט... וזה סתם מיותר כי יש טקסט/באנרים זהים בשתי הדפים(וכמובן אם מדובר במערכת שלדוגמא קוראת את כל החדשות באתר YNET ה2 קילו בייט הזה לעמוד יש להם משמעות אדירה)
האם יש דרך שכאשר אני לוקח את העמוד השני בעצם אני לא אקרא שוב ע"י ה file_get_contents את הקוד שזהה לעמוד הראשון?
תודה

Shay Ben Moshe 24-04-10 20:35

עם file_get_contents אתה לא יכול לעשות את זה, אבל עם fread וfseek אתה יכול לעשות את זה.

dabi 24-04-10 20:39

ציטוט:

נכתב במקור על ידי Shay Falador (פרסם 761981)
עם file_get_contents אתה לא יכול לעשות את זה, אבל עם fread וfseek אתה יכול לעשות את זה.

fread לקרוא דף אינטרנט? אם כן זה אותו דבר כמו file_get_contents ...
הוא יכניס לי למשתנה את כל התוכן של הדף ורק לאחר מכן אני מתחיל לעבוד על הדף
או שאתה מתכוון שאני אקרא משורה בדף משורה מסויימת עד שורה מסויימת
אם כן אז:
1) בטוח שזה באמת טוען רק חלק מהדף?
2) זה פחות עדיף כי יש מקרים שהמאמר ארוך או קצר וזה משתנה
ומה זה fseek אשמח אם תסביר לי בכמה מילים בעיברית מה זה הפונקציה הזאת ומה היא עושה
תודה רבה

Shay Ben Moshe 24-04-10 20:40

בכמה מילים: fread קוראת מהנקודה שהpointer על הקובץ מצביע עד כמה ביטים שתגיד לו (אפשר להשתמש בfilesize) או עד סוף הקובץ, מה שבא קודם כמובן.
fseek משנה את המקום של הpointer.

אתה יכול לקרוא בphp.net

dabi 24-04-10 21:02

ציטוט:

נכתב במקור על ידי Shay Falador (פרסם 761986)
בכמה מילים: fread קוראת מהנקודה שהpointer על הקובץ מצביע עד כמה ביטים שתגיד לו (אפשר להשתמש בfilesize) או עד סוף הקובץ, מה שבא קודם כמובן.
fseek משנה את המקום של הpointer.

אתה יכול לקרוא בphp.net

אפשר לאמר לו שיקרא משורה מסויימת עד שורה מסויימת לפי התוכן?
לדוגמא אם הדף שלי הוא כזה
<html>
<head>
<title></title>
</head>
<body>
1212
33333
4444

</body></html>

אני יכול לאמר לו שיקרא לפי מאיפה שמתחיל ה body עד איפה שהוא מסתיים?(לא לפי שורות אלא לפי טקסט)
תודה

Shay Ben Moshe 24-04-10 22:41

לא.
אתה יכול להגיד לו מאיזה byte להתחיל לקרוא.


כל הזמנים הם GMT +2. הזמן כעת הוא 09:19.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ