נפתר שמיעת הקבצים שבשלוחה
-
אני מעוניין לעשות תוסף לניהול קבצים במערכת אני משתמש בפונקציה GetIvrTree יש למישהו רעיון איך שכל פעם ישמע קובץ אחד ורק אם הקיש שבע יעבור לקובץ הבא
-
-
@kavkosher
התגובה שאתה מקבל מימות היא בפורמט json טהור, אין שום ענין לעשות שם replace והסוגריים מרובעות זה חלק אורגינלי מפורמט JSON
אתה משתמש עם GetIvrTree או GetIVR2Dir? בהתחלה כתבת GetIvrTree, ובדוגמת קוד התחלת עם GetIVR2Dir, אבל איברי המערך הם של GetIvrTree
אם אתה רוצה לקבל רק את הקבצים ולא תיקיות וכו', יותר נח להשתמש עם GetIVR2Dir
הנה דוגמת קוד$url = "https://www.call2all.co.il/ym/api/GetIVR2Dir?token={$did}:{$password}&path=ivr2:{$path}"; $responce = file_get_contents($url); $json = json_decode($responce, true); $files = $json['files']; foreach ($files as $file){ echo $file['name'] . '<br>'; }
ידפיס לך את כל שמות הקבצים בשלוחה
אגב, ממליץ לך על הכלי הזה כדי להציג את ה json בצורה קריאה
-
@kavkosher
להפוך את התוצאה של GetIvrTree למערך, וכל פעם להחזיר איבר אחד
אתה צריך להחזיק אינדקס שמצביע על המיקום במערך, ובכל הקשה האינדקס יעלה באחד
מכיון שכל הקשה הדף נטען מחדש, אין אפשרות לשנות את האינדקס כמשתנה, יש לכך כמה פתרונות, אכתוב 2 בסיסים:- לשמור את האינדקס במשתנה
$_SESSION
בהתאם למה שהוסבר כאן - בכל פעם לשנות את שם הפרמטר ב read (לדוגמא, הזמן הנוכחי) ולספור את כמות הפרמטרים שנשלחו, במקרה כזה לא תוכל לעשות דפדוף אחורה
- לשמור את האינדקס במשתנה
-
כיצד מפרקים JSON כזה
{"responseStatus":"OK","extIni":{"jcalendar_realdate":"1","up":"#","root":"*","Admin":"0","digits":"1","timeout":"5","start_select_digits":"3","file_amount_digits":"3","attempts":"1","control_play1":"seconds_minus","control_play2":"plus","control_play3":"seconds_plus","control_play4":"minut_minus","control_play5":"wait","control_play6":"minut_plus","control_play8":"minus","control_play*":"more_optionsA","control_play#":"return","control_play_moreA*":"noop","control_play_moreA1":"add_to_playlist","control_play_moreA2":"rating","control_play_moreA3":"copy_link","control_play_moreA4":"replies","control_play_moreA5":"volume_minus","control_play_moreA6":"volume_plus","control_play_moreA7":"random_all","control_after_play_moreA0":"restart","control_after_play_moreA1":"next","control_play7":"change_playback_speed_minus","control_play9":"change_playback_speed_plus","control_play0":"playback_speed_normal","control_play_moreA#":"restart","control_play_moreA0":"admin_options","control_play_moreA8":"play_operating","control_play_moreA9":"random","control_playlist*":"playlist_menu","music_on_hold":"NigunRoshChodeshKislevB","type":"playfile"},"thisPath":"2","parentPath":"/","dirs":[{"exists":true,"name":"555","uniqueId":"80773d9d1f58875abd93e61fe3796d08","extType":"playfile","extTitle":"","fileType":"EXT","what":"ivr2:2/555"}]}
-
@kavkosher יש לך כבר קוד שהתחלת? תעלה אותו ואכוון אותך להמשך
-
$url6 = file_get_contents("https://www.call2all.co.il/ym/api/GetIVR2Dir?token={$did}:{$password}&path=ivr2:{$path}&"); $url6 = str_replace("[" , "" , $url6); $url6 = str_replace("]" , "" , $url6); $url = json_decode("$url6", true); $url1 = $url['files']; $name = $url1['name']; $fileType = $url1['fileType']; $what = $url1['what']; print "read=f-/{$what}=menuFile,no,1,1,7,No,";
הבעיה זה הסוגריים המרובעות [] ב JSON
-
@kavkosher
התגובה שאתה מקבל מימות היא בפורמט json טהור, אין שום ענין לעשות שם replace והסוגריים מרובעות זה חלק אורגינלי מפורמט JSON
אתה משתמש עם GetIvrTree או GetIVR2Dir? בהתחלה כתבת GetIvrTree, ובדוגמת קוד התחלת עם GetIVR2Dir, אבל איברי המערך הם של GetIvrTree
אם אתה רוצה לקבל רק את הקבצים ולא תיקיות וכו', יותר נח להשתמש עם GetIVR2Dir
הנה דוגמת קוד$url = "https://www.call2all.co.il/ym/api/GetIVR2Dir?token={$did}:{$password}&path=ivr2:{$path}"; $responce = file_get_contents($url); $json = json_decode($responce, true); $files = $json['files']; foreach ($files as $file){ echo $file['name'] . '<br>'; }
ידפיס לך את כל שמות הקבצים בשלוחה
אגב, ממליץ לך על הכלי הזה כדי להציג את ה json בצורה קריאה
-
@amp-Software-0 כתב בשמיעת הקבצים שבשלוחה:
אגב, ממליץ לך על הכלי הזה כדי להציג את ה json בצורה קריאה
מה זה בעצם?
-
@שמואל-ש
כלי לשימוש נח ובדיקת תקינות של פורמט json
מדביקים את הטקסט בצד ימין, לוחצים החץ להעתקה לצד שמאל, והוא מוצג בצורה של עץ, כמובן אפשר להחליף בין התצוגות
דוגמא לטקסט הנ"ל:
-
אם אני רוצה שיציג רק את הקובץ השלישי לדוגמה
אני מתכוון לקרוא לכל קובץ בנפרד שבפעם הרשונה יביא את הקובץ הראשון בשניה את הקובץ השני וכוהסתדרתי
תודה רבה לכל המסיעים
-
-
@amp-Software-0 @שמואל-ש הנה תוסף שמפרמטר כל JSON שנכנסים אליו בדפדפן
https://chrome.google.com/webstore/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa
דוגמה (כיווצתי את רוב הנתונים כדי שיכנס בתמונה)
-
@צדיק-תמים כתב בשמיעת הקבצים שבשלוחה:
הנה תוסף שמפרמטר כל JSON שנכנסים אליו בדפדפן
לא הבנתי איפה זה משנה לי, תוכל להסביר שוב?
-
@שמואל-ש כתבתי
כל JSON שמוצג בדפדפן
לדוגמה מהAPI של ימות -
תודה עוזר לי מאוד