עזרה בשליפת נתונים ממערך ולולאה
-
@mgm-ivr
תסביר אולי קצת יותר ברור,
לא הבנתי מה אתה רוצה לעשות
אתה רוצה לשלוח הודעה לכל מי שרשום?/ליצור קובץ בשרת שיהיה כתוב בו את המספרים הרשומים?בכל מקרה, אם יעזור לך כתבתי קוד שיוצר מערך של כל מספרי הטלפון ברשימת התפוצה
$get_url = file_get_contents("https://private.call2all.co.il/ym/api/TzintukimListManagement?token=*******:***&action=getlistEnteres&TzintukimList=*****"); $array = json_decode($get_url ,true); $array = $array[enteres]; foreach($array as $value){ $fon = $value[phone]; $array_fon[]= $fon; }
עכשיו משתנה array_fon מכיל את המספרים
-
@ד-ב אמר בעזרה בשליפת נתונים ממערך ולולאה:
@mgm-ivr
תסביר אולי קצת יותר ברור,
לא הבנתי מה אתה רוצה לעשות
אתה רוצה לשלוח הודעה לכל מי שרשום?/ליצור קובץ בשרת שיהיה כתוב בו את המספרים הרשומים?בכל מקרה, אם יעזור לך כתבתי קוד שיוצר מערך של כל מספרי הטלפון ברשימת התפוצה
$get_url = file_get_contents("https://private.call2all.co.il/ym/api/TzintukimListManagement?token=*******:***&action=getlistEnteres&TzintukimList=*****"); $array = json_decode($get_url ,true); $array = $array[enteres]; foreach($array as $value){ $fon = $value[phone]; $array_fon[]= $fon; }
עכשיו משתנה array_fon מכיל את המספרים
אני צריך שיצור קובץ טקסט עם השם של כל אחד מהמספרים ויכתוב לבתוכו "שלום עולם"
(למשל ממספר 052 יהיה קובץ 052.TXT שבתוכו רשום שלום עולם
וכו'איך הדרך לעשות את זה?
-
בבקשה.
הוספתי את שורות 7-10$get_url = file_get_contents("https://private.call2all.co.il/ym/api/TzintukimListManagement?token=*******:***&action=getlistEnteres&TzintukimList=*****"); $array = json_decode($get_url, true); $array = $array['enteres']; foreach ($array as $value) { $fon = $value['phone']; $filename = "$fon.txt"; $handle = fopen($filename, "w"); fwrite($handle, "שלום עולם"); fclose($handle); }
בהצלחה
-
זה עדיין אותו נושא...
לכן אני לא פותח חדשאני צריך לדעת מה הטלפון של משאיר ההודעה הכי גבוהה בשלוחה...
כשהרצתי את זהhttps://www.call2all.co.il/ym/api/GetIvrTree?token=07333:123&path=ivr2:4
החזיר לי את כל קבצים בשלוחה
המזל הוא שהם נמצאים בתוך מערך:
שהולך כך
items (פריטים בשלוחה)
מכאן מתחיל מערך עצום ונורא עם כל הפרטים שיש בשלוחה
אני רוצה לגשת בתוך המערך הכי גבוה(מספר הקובץ הגבוהה ביותר) לערך "phone"איך אני עושה את זה?
-
כשאני עושה ככה
$get_url = file_get_contents("https://www.call2all.co.il/ym/api/GetIvrTree?token=0737:1111&path=ivr2:4"); $array = json_decode($get_url ,true); $array = $array[items]; foreach($array as $value){ $fon = $value[phone]; $array_fon[]= $fon; } print $fon;
אני אכן מקבל את מספר הטלפון של מי שהקליט את הקובץ הגבוה ביותר אבל אני צריך בלי קבצי מערכת...(INI.LOG.HTML) איך אני יכול להוריד אותם מהקוד שלא יופיעו?
-
@mgm-ivr אמר בעזרה בשליפת נתונים ממערך ולולאה:
כשאני עושה ככה
$get_url = file_get_contents("https://www.call2all.co.il/ym/api/GetIvrTree?token=0737:1111&path=ivr2:4"); $array = json_decode($get_url ,true); $array = $array[items]; foreach($array as $value){ $fon = $value[phone]; $array_fon[]= $fon; } print $fon;
אני אכן מקבל את מספר הטלפון של מי שהקליט את הקובץ הגבוה ביותר אבל אני צריך בלי קבצי מערכת...(INI.LOG.HTML) איך אני יכול להוריד אותם מהקוד שלא יופיעו?
תכלס הסתדרתי איכשהו...
כתבתי ככה
$get_url = file_get_contents("https://www.call2all.co.il/ym/api/GetIvrTree?token=0777:1111&path=ivr2:4"); $array = json_decode($get_url ,true); $array = $array[items][1][phone]; print_r ($array);
אני יודע שזה לא הכי לעניין ,
אבל זה מביא לי כל פעם את הטלפון של הראשון שהקליט, (במקום האחרון )
וזה מספיק לי -
@mgm-ivr
הקוד הזה אמור להביא את המספר של המקליט של ההודעה האחרונה
תעדכן אם עובד$get_url = file_get_contents("https://www.call2all.co.il/ym/api/GetIvrTree?token=******:*****&path=ivr2:1"); $array = json_decode($get_url ,true); $array=$array[items]; foreach($array as $value){ if($value[fileType] == "AUDIO"){ $audio=$value[phone]; } } print $audio;
-
@ד-ב אמר בעזרה בשליפת נתונים ממערך ולולאה:
@mgm-ivr
הקוד הזה אמור להביא את המספר של המקליט של ההודעה האחרונה
תעדכן אם עובד$get_url = file_get_contents("https://www.call2all.co.il/ym/api/GetIvrTree?token=******:*****&path=ivr2:1"); $array = json_decode($get_url ,true); $array=$array[items]; foreach($array as $value){ if($value[fileType] == "AUDIO"){ $audio=$value[phone]; } } print $audio;
יש עוד דרכים להשיג אותך.... אין לי כח לחכות שתתחבר לפורום
אתה מטורףףף בphpתכלס עוד לא בדקתי את זה אני אבדוק ואעדכן
-
@ד-ב אתה מתבסס על זה שהקובץ האחרון במערך הוא הקלטת השמע האחרונה, לא תמיד זה נכון.
-
@שמואל
למה?
אני לוקח את הקובץ האחרון שה
fileType == AUDIO
הוא לא מביא את הקבצים לפי הסדר שלהם בשלוחה??עריכה: לפי בדיקה שלי הוא מביא את זה לפי הסדר, ככה שהקוד כן נכון
-
@ד-ב בכל מקרה תודה
אבל במחשבה שניה אני עובד עכשיו על תגובות...
ככה שעדיף לבדוק קודם כל מי הטלפון שהקליט ראשון כדי לענות לו ראשון -
@ד-ב זה לא נכון. אם הקובץ האחרון שהועלה היה הודעת מערכת?
הרעיון הוא לקבל ב GetIVR2Dir->files את הקבצים, להוריד את הסיומות שלהם ואז לרוץ על המערך והקובץ הראשון שהוא רק ספרות (is_numeric) לשבור את הריצה של המערך והפרטים לפניך.
דוגמא שהבדיקה של הספרות רלוונטית:
וכנ"ל ב
GetIvrTree
:עוד מעלה שיש לך ב GetIVR2Dir שהמיון הוא מהחדש ואתה לא צריך לרוץ על כל המערך.
-
@mgm-ivr אמר בעזרה בשליפת נתונים ממערך ולולאה:
ככה שעדיף לבדוק קודם כל מי הטלפון שהקליט ראשון כדי לענות לו ראשון
עדיין אתה לא יכול להתבסס על
$array[items][1][phone]
בגלל מה שכתבתי.
או שאולי נקודדית אצלך אין הודעות מערכת או משהוא שיפריע. אבל מהצד של הפעולה עצמה - זה לא הכי תקין.
-
@שמואל אמר בעזרה בשליפת נתונים ממערך ולולאה:
מהצד
אז מה אני כן יכול לעשות?
(הלכתי על זה כי יש כל פעם את הקובץ טקסט שלפני ואת ההודעה עצמה)
-
@mgm-ivr אמר בעזרה בשליפת נתונים ממערך ולולאה:
אז מה אני כן יכול לעשות?
להוריד סיומת, לוודא שזה מספרים, ולקחת טלפון.
$get_url = file_get_contents("https://www.call2all.co.il/ym/api/GetIvrTree?token=X:X&path=ivr2:/0"); $file = json_decode($get_url, true); foreach ($file["items"] as $key => $value) { if ($value["fileType"] === "AUDIO") { $split = explode(".", $value["name"]); if (is_numeric($split[0])) { $firstFile = $value; break; } } } var_dump($firstFile['phone']);