לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 20-01-2011, 14:55
  roei_om roei_om אינו מחובר  
 
חבר מתאריך: 22.10.06
הודעות: 169
שלח הודעה דרך ICQ אל roei_om
האם php מגביל את התוצאות מ xml ?

שלום חברים!
במסעי ברחבי האינטרנט נתקלתי ב xml וניסיתי ללמוד את האופן שבו ניתן להשתמש בו.
בניתי לעצמי מערכת נחמדה שמקבלת תוצאות מאתר אחר.
לתומי חשבתי כי אין בעיה שphp תביא לי את כל התוצאות אשר נמצאות בדף.

אך אבוי
משום מה אני מקבל רק חצי מהתוצאות הקיימות.
לדוגמא: כרגע ישנם 50 תוצאות ובמקום לקבל את כל התוצאות אני מקבל רק 24.

ניסיתי לשים את הקובץ במחשב שלי ומשם לקרוא ולשמחתי הרבה קבלתי את כל התוצאות
שציפיתי להן.

למישהו יש רעיון קורה כאן?
האם יש "זמן קריאה" שהוגדר לקרוא ממקור חיצוני?
(נדמה לי שלא אבל אשמח לדעת אם כן..)

אני משתמש בפונקציה file_get_contents לאימות המקור
ובפונקציה simplexml_load_file לשליפת הנתונים

אשמח לקבל הצעות ייעול..
תודה מראש!
_____________________________________
"כמים הפנים לפנים כך לב האדם לאדם"

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 20-01-2011, 17:22
צלמית המשתמש של Eran
  משתמש זכר Eran Eran אינו מחובר  
 
חבר מתאריך: 27.02.02
הודעות: 4,536
שלח הודעה דרך ICQ אל Eran
בתגובה להודעה מספר 5 שנכתבה על ידי roei_om שמתחילה ב "שלילי. השרת הוא לא המחשב שלי."

מממממממממ

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


ובהכי הגיוני זה שאולי ה XML שאתה מנסה להוריד הוא דינאמי
כלומר עבורך הוא הראה 50 תוצאות אבל עבור השרת הוא הראה רק 24 תוצאות...


תנסה לבדוק גם על קבצים אחרים בשרתים שונים
_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/list.png]

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://fresh.clanteam.com/?https://2010-uploaded.fresh.co.il/2010/09/21/52868411.gif,http://www.boredpanda.com/blog/wp-content/themes/mimbo2.2/images/subscribe-panda-605px.png]

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 20-01-2011, 17:35
  roei_om roei_om אינו מחובר  
 
חבר מתאריך: 22.10.06
הודעות: 169
שלח הודעה דרך ICQ אל roei_om
בתגובה להודעה מספר 6 שנכתבה על ידי Eran שמתחילה ב "מממממממממ שאלתי גם מה גודל..."

ציטוט:
שאלתי גם מה גודל הקובץ..

כרגע הקובץ שוקל 220 לערך..

ציטוט:
לשרתים יש הגבלה על גודל אבל חשבתי יותר בכיוון של הזמן שלוקח לשרת שלך לטעון את הקובץ מהאתר החיצוני. אולי מהמחשב שלך הוא פשוט רץ מהר יותר.

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

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


נבדוק את זה..
תודה על תגובה!
אם יש לך רעיונות נוספים אודה לך..
_____________________________________
"כמים הפנים לפנים כך לב האדם לאדם"

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #11  
ישן 21-01-2011, 12:30
  roei_om roei_om אינו מחובר  
 
חבר מתאריך: 22.10.06
הודעות: 169
שלח הודעה דרך ICQ אל roei_om
בתגובה להודעה מספר 10 שנכתבה על ידי ישראל K שמתחילה ב "באופן לא רשמי, יתכן והפונקציה..."

תודה ישראל!
אך הדבר לא עזר לי..

חפשתי שוב באתר php.net את פונקציית xml כדי לבדוק אם מישהו כתב דוגמא
שאולי תוכל לעזור לי ומצאתי!
מסתבר שאכן כיון שהקובץ לא היה בנוי טוב לא הייתי מקבל את כל התוצאות.
ועכשיו על ידי הקוד שמצאתי אני מקבל את כל התכולת הקובץ כמו שצריך.
תגיות הhtml הן היו הבעיה ועכשיו כל שנותר לי הוא לתאם את הקוד שלי כך
שתגיות הhtml יוחלפו למה שהן אמורות להיות: <>

תודה רבה על הרצון לעזור!
אני מעריך את זה מאוד!!

ולמי שרוצה לדעת את הקוד שמצאתי


http://il2.php.net/manual/en/example.xml-external-entity.php


Example #1 External Entity Example



קוד PHP:
 $file "xmltest.xml";
 
function 
trustedFile($file
{
    
// only trust local files owned by ourselves
    
if (!preg_match("@^([a-z]+)\:\/\/@i"$file
        && 
fileowner($file) == getmyuid()) {
            return 
true;
    }
    return 
false;
}
 
function 
startElement($parser$name$attribs
{
    echo 
"&lt;<font color=\"#0000cc\">$name</font>";
    if (
count($attribs)) {
        foreach (
$attribs as $k => $v) {
            echo 
" <font color=\"#009900\">$k</font>=\"<font 
                 color=\"#990000\">
$v</font>\"";
        }
    }
    echo 
"&gt;";
}
 
function 
endElement($parser$name
{
    echo 
"&lt;/<font color=\"#0000cc\">$name</font>&gt;";
}
 
function 
characterData($parser$data
{
    echo 
"<b>$data</b>";
}
 
function 
PIHandler($parser$target$data
{
    switch (
strtolower($target)) {
        case 
"php":
            global 
$parser_file;
            
// If the parsed document is "trusted", we say it is safe
            // to execute PHP code inside it. If not, display the code
            // instead.
            
if (trustedFile($parser_file[$parser])) {
                eval(
$data);
            } else {
                
printf("Untrusted PHP code: <i>%s</i>"
                        
htmlspecialchars($data));
            }
            break;
    }
}
 
function 
defaultHandler($parser$data
{
    if (
substr($data01) == "&" && substr($data, -11) == ";") {
        
printf('<font color="#aa00aa">%s</font>'
                
htmlspecialchars($data));
    } else {
        
printf('<font size="-1">%s</font>'
                
htmlspecialchars($data));
    }
}
 
function 
externalEntityRefHandler($parser$openEntityNames$base$systemId,
                                 
$publicId) {
    if (
$systemId) {
        if (!list(
$parser$fp) = new_xml_parser($systemId)) {
            
printf("Could not open entity %s at %s\n"$openEntityNames,
                 
$systemId);
            return 
false;
        }
        while (
$data fread($fp4096)) {
            if (!
xml_parse($parser$datafeof($fp))) {
                
printf("XML error: %s at line %d while parsing entity %s\n",
                     
xml_error_string(xml_get_error_code($parser)),
                     
xml_get_current_line_number($parser), $openEntityNames);
                
xml_parser_free($parser);
                return 
false;
            }
        }
        
xml_parser_free($parser);
        return 
true;
    }
    return 
false;
}
 
function 
new_xml_parser($file
{
    global 
$parser_file;
 
    
$xml_parser xml_parser_create();
    
xml_parser_set_option($xml_parserXML_OPTION_CASE_FOLDING1);
    
xml_set_element_handler($xml_parser"startElement""endElement");
    
xml_set_character_data_handler($xml_parser"characterData");
    
xml_set_processing_instruction_handler($xml_parser  "PIHandler");
    
xml_set_default_handler($xml_parser"defaultHandler");
    
xml_set_external_entity_ref_handler($xml_parser"externalEntityRefHandler");
 
    if (!(
$fp = @fopen($file"r"))) {
        return 
false;
    }
    if (!
is_array($parser_file)) {
        
settype($parser_file"array");
    }
    
$parser_file[$xml_parser] = $file;
    return array(
$xml_parser$fp);
}
 
if (!(list(
$xml_parser$fp) = new_xml_parser($file))) {
    die(
"could not open XML input");
}
 
echo 
"<pre>";
while (
$data fread($fp4096)) {
    if (!
xml_parse($xml_parser$datafeof($fp))) {
        die(
sprintf("XML error: %s at line %d\n",
                    
xml_error_string(xml_get_error_code($xml_parser)),  
                    
xml_get_current_line_number($xml_parser)));
    }
}
echo 
"</pre>";
echo 
"parse complete\n";
xml_parser_free($xml_parser); 
_____________________________________
"כמים הפנים לפנים כך לב האדם לאדם"

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 10:45

הדף נוצר ב 0.13 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר