קבלת מספר קובץ שבו אני אוחז
-
במודול השעת קבצים יש אפשרות לעשות פניה לapi וחלק מהערכים שנשלחים זה נתיב שבו נמצא הקובץ אליו אני מאזין כעת,
צורת הנתיב:
ivr2:/1/000.wav
כעת אני רוצה לדעת
א. איך אני מקבל את הערך של המספר קובץ (בלבד) בו אני אוחז
ב. את המספר שלוחה שבה זה נמצא (בנפרד) (וזה לא יעזור לי הערך משנשלח לשרת ApiExtension בגלל שלפעמים ההשמעה לא נמצאת באותה שלוחה אלא זה משמיע משלוחה אחרת)
אשמח לעזרה -
בהנחה שאתה מכניס את הנתיב למשתנה
str
$str = "ivr2:/1/000.wav"; $str = str_replace("ivr2:", "", $str); $str = str_replace(".wav", "", $str); $position = strrpos($str, "/"); $file_number = substr($str, $position + 1); $folder = substr($str, 0, $position);
שם הקובץ (ללא הסיומת) יכנס למשתנה
file_number
שם התיקיה (כולל הנתיב המלא) יכנס למשתנהfolder
-
@amp-Software-0 תודה, ואיך אני יכול לקבל רק את התיקייה ללא מספר קובץ וולא ivr2: ?
-
@121244 כתב בקבלת מספר קובץ שבו אני אוחז:
@amp-Software-0 תודה, ואיך אני יכול לקבל רק את התיקייה ללא מספר קובץ וולא ivr2: ?
@amp-Software-0 כתב בקבלת מספר קובץ שבו אני אוחז:
$folder = substr($str, 0, $position);
-
@amp-Software-0 כתב בקבלת מספר קובץ שבו אני אוחז:
שם התיקיה (כולל הנתיב המלא) יכנס למשתנה folder
-
@שמואל-ש @amp-Software-0 אוקיי עכשיו עשיתי א זה בקובץ וכעת הבעיה של א. אני צריך שמשתנה folder יכיל את מספר השלוחה בלבד ב. איך אני עושה שדווקא מספר שהקליט את אותה הודעה יוכל להכנס לשלוחה? שינוי השמעה.php
אשמח לעזרה -
@121244
אתה מתכוין מספר השלוחה בלבד בלי הניתוב המלא?
כלומר אם יש שלוחה /1/2/3 יופיע רק "3"? [בעייתי במקרה ויש גם שלוחה אחרת עם ניתוב 1/5/3 לדוגמא] -
@amp-Software-0 לא, שיופיע רק /1/2/3 בלי ivr2: ובלי שם הקובץ וכו'
וחץ מזה אשמח לעזרה לגבי זה@121244 כתב בקבלת מספר קובץ שבו אני אוחז:
ב. איך אני עושה שדווקא מספר שהקליט את אותה הודעה יוכל להכנס לשלוחה?
-
@121244
אז זה מה שכתבתי כבר בהתחלה
המשתנה $folder אמור להכיל בדיוק מה שאתה צריךמה אתה מתכוין שרק מי שהקליט, אתה מדבר על האפשרות לשלוח API באמצע ההשמעה?
לכאורה האופציה היחידה היא שיעבור לדף ויוריד את קובץ txt של ההודעה וישווה את זה למספר המחייג ובמידה וזה לא שווה יחזיר noop -
@amp-Software-0 כתב בקבלת מספר קובץ שבו אני אוחז:
בהנחה שאתה מכניס את הנתיב למשתנה
str
$str = "ivr2:/1/000.wav"; $str = str_replace("ivr2:", "", $str); $str = str_replace(".wav", "", $str); $position = strrpos($str, "/"); $file_number = substr($str, $position + 1); $folder = substr($str, 0, $position);
שם הקובץ (ללא הסיומת) יכנס למשתנה
file_number
שם התיקיה (כולל הנתיב המלא) יכנס למשתנהfolder
אני רק מנסה להבין במשתנה file_number יכנס בדוגמא שהבאת כך 1/000 נכון?
אם כן אז זה לא שם הקובץ בלבד זה גם עם הניתוב חוץ מהסלש הראשון אז איך אפשר ש הפונקציה strrpos תתחיל לספור מהסוף או לאו דווקא רק שייתן את האחרון? או שאם אי אפשר איזה פונקציה כן סופרת מה האחרון? -
@הלי
strrpos
מביא את המופע האחרון
אזfile_number
יתן 000 -
@amp-Software-0 צודק אני הכרתי את strpos שמחזיר את הראשון ושכחתי מ strrpos שמחזיר את האחרון