דילוג לתוכן
  • חוקי הפורום
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
לוגו מותג
  1. דף הבית
  2. סלולרי
  3. מערכות IVR - ימות המשיח
  4. ימות המשיח API
  5. עזרה | קבלת מס' הקובץ הגבוה ביותר בשלוחה (js)

עזרה | קבלת מס' הקובץ הגבוה ביותר בשלוחה (js)

מתוזמן נעוץ נעול הועבר ימות המשיח API
9 פוסטים 5 כותבים 389 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מוטי מןמ מנותק
    מוטי מןמ מנותק
    מוטי מן
    כתב ב נערך לאחרונה על ידי
    #1

    יש כאן קוד ש @ערוץ-הסקרים העלה בפורום של ימות המשיח, להעלאה אוטמטית של קבצים למערכת וקבלת מס' הקובץ הגבוה ביותר בשלוחה בצורה אוטומטית בphp.
    אני רוצה להמיר את הקוד הזה לjs ואשמח מאוד לעזרה, ממי שמבין שיוכל לחלק לי את הקוד ולהסביר לי מה אני צריך לעשות בjs.

    <?php
    function FileNameToUpload($server, $token, $path){
    	$array = json_decode(file_get_contents("https://$server.call2all.co.il/ym/api//GetIVR2Dir?token=$token&path=$path"),true);
    	if($array["responseStatus"] == "OK"){
    		foreach($array["files"] as $key => $value){
    			if($value["fileType"] == "AUDIO" || $value["fileType"] == "TTS"){
    				$split = explode(".",$value["name"]);
    				if (is_numeric($split[0])){		
    					break;
    				}
    			}
    		}
     
    		if($split[0] == null){
    			$NewFileName = 0;
    		}else{
    			$NewFileName = $split[0]+1;
    		}
    		//הפוך למינימום 3 ספרות/
    		return str_pad($NewFileName,3,"0",STR_PAD_LEFT);
    	}else{
    	//במקרה של שגיאה
    	}
    }
    ?>
    
    

    https://github.com/motiman972 | באין תחבולות ייפול עם, ותשועה ברוב יועץ, אבל ללא עזרת השי"ת אין רוב!

    צדיק תמיםצ chvC אבייא 3 תגובות תגובה אחרונה
    0
    • צדיק תמיםצ מנותק
      צדיק תמיםצ מנותק
      צדיק תמים מדריכים
      השיב למוטי מן ב נערך לאחרונה על ידי צדיק תמים
      #2

      @מוטי-מן האמת שאין לי מושג בphp...
      את החלק של העלאת הקובץ החדש לא כל כך הצלחתי להבין, מאיפה הוא לוקח את הקובץ להעלאה,
      אבל ממה שהבנתי שאר החלקים הם:
      לולאה על כל הקבצים שבשלוחה,
      תנאי שמוודא על כל קובץ שהוא מסוג אודיו/TTS (ואם כן מכניס אותו למערך),
      ואז בדיקת אורך המערך,
      +1,
      מתקבל מספר, שבמידה שהוא null (כלומר עדיין לא קיים קובץ בשם זה), ייקבע כשם הקובץ החדש שמעלים.
      לכל הנ"ל (החלק שפירטתי) יש תחליפים בJS.
      אבל מכיוון שאיני יודע php ולא את ההתממשקות עם הAPI של ימות, לא אוכל לכתוב איך, אבל זה בעצם רשימת הדברים שהקוד הזה מבצע ואתה צריך למצוא את התחליף שלהם בJS.
      בהצלחה

      רוצה לזכור קריאת שמע בזמן? לחץ כאן! || אתר שכולו מדריכים

      תגובה 1 תגובה אחרונה
      1
      • chvC מנותק
        chvC מנותק
        chv
        השיב למוטי מן ב נערך לאחרונה על ידי
        #3

        @מוטי-מן אני לא הולך לכתוב עבורך קוד, אני יכול להגיד לך מה אני רואה מקריאה של הקוד הזה מלמעלה (לא נגעתי מעולם ב-PHP):
        שורה 3: אתחול משתנה array שמכיל אובייקט JSON שתוכנו הוא תשובת HTTP לקריאה שנשלחת לכתובת "https://$server.call2all.co.il/ym/api//GetIVR2Dir?token=$token&path=$path" (כמובן עם הערכים token$ ו-path$ מתקבלים מהארגומנטים של הפונקציה הראשית).
        שורה 4: תנאי אם הערך של המפתח responseStatus מתוך ה-JSON הנ"ל, שווה ל-'OK'.
        שורה 5: לולאה על גבי מערך (שנוצר אוטומטית מתוך הערך של המפתח files שבתוך ה-JSON הנ"ל), מהמשך הקוד ניתן להסיק שהמערך הנ"ל מכיל אובייקטים שבכל אחד מהם יש ערכים: fileType ו-name. ככל הנראה name מכיל גם סיומת הקובץ, לכן כנראה יוצרים בשורה 7 מערך בשם split שמכיל את 0: שם הקובץ, 1: סיומת הקובץ.
        שורה 8: בדיקה אם שם הקובץ ([split[0) הוא מספר, אם כן > שורה 8, מבצע break ללולאה (נשגב מבינתי למה).
        שורה 14: אם שם הקובץ null (ככל הנראה כשאין במערך files כלום) מאתחל משתנה NewFileName עם ערך 0. אם לא - מאתחל משתנה NewFileName הנ"ל עם ערך של שם הקובץ + 1.
        שורה 20: הפונקציה מחזירה ערך. מה שקורה פה זה פדינג ("ריפוד") של סטרינג. נראה שפשוט חייבים סטרינג של 3 תווים (הארגומנט השני של str_pad), אחרי זה ארגומנט של איזה תווים להכניס במקרה שהפונקצית ריפוד נכנסת לפעולה, אחרי זה ארגומנט של STR_PAD_LEFT) מבצעים את הריפוד הזה על המשתנה הנ"ל NewFileName.
        קח לדוגמא אם המשתנה הנ"ל מכיל 1 - הפונקציה תחזיר 001, ואם הוא מכיל 31 - הפונקציה תחזיר 031, ואם 250 - יחזור 250.

        @צדיק-תמים אני לא מצליח לראות בקוד הזה איפה קורה:

        תנאי שמוודא על כל קובץ שהוא מסוג אודיו/TTS (ואם כן מכניס אותו למערך),
        ואז בדיקת אורך המערך

        מה שנראה בקוד זה שהמשתנה split נערך מחדש בכל איטרציה של הלולאה על המערך files.

        בלוג

        תגובה 1 תגובה אחרונה
        4
        • אבייא מנותק
          אבייא מנותק
          אביי
          השיב למוטי מן ב נערך לאחרונה על ידי אביי
          #4

          @מוטי-מן

            let listfile = JSON.parse(UrlFetchApp.fetch(`https://${server}.call2all.co.il/ym/api/GetIVR2Dir?token=${token}&path=${path}`));
             if (listfile.responseStatus === 'OK') {
              let lastfilename = listfile.files
                .filter(file => file.fileType === 'audio' || file.fileType === 'tts')
                .map(file => file.name.split('.')[0])
                .find(filename => !isNaN(fileName));
              let newnumber = number(lastfilename || -1) + 1;
              let newname = newnumber.toString().padStart(3, '0');
              let fileextension = '.tts'
              let filePath = `${path}${newname}${fileextension}`;
          

          המשתנים שצריך להגדיר הם token, path, server (שם משתמש, נתיב השלוחה ושרת פרייבט אם קיים.) והמשתנה המתקבל הוא הנתיב המלא כולל שם הקובץ להעלאה במשתנה newname

          ניתן ליצור עימי קשר 8140hp+mt@gmail.com

          א תגובה 1 תגובה אחרונה
          3
          • א מנותק
            א מנותק
            איש נחמד
            השיב לאביי ב נערך לאחרונה על ידי
            #5
            פוסט זה נמחק!
            אבייא תגובה 1 תגובה אחרונה
            0
            • אבייא מנותק
              אבייא מנותק
              אביי
              השיב לאיש נחמד ב נערך לאחרונה על ידי
              #6

              @איש-נחמד לא הבנתי?

              ניתן ליצור עימי קשר 8140hp+mt@gmail.com

              א תגובה 1 תגובה אחרונה
              0
              • א מנותק
                א מנותק
                איש נחמד
                השיב לאביי ב נערך לאחרונה על ידי איש נחמד
                #7

                @אביי אמר בעזרה | קבלת מס' הקובץ הגבוה ביותר בשלוחה (js):

                @איש-נחמד לא הבנתי?

                 let listfile = JSON.parse(UrlFetchApp.fetch(`https://${server}.call2all.co.il/ym/api/GetIVR2Dir?token=${token}&path=${path}`));
                

                בהקבלה לשורה 3 בקוד המקורי:

                $array = json_decode(file_get_contents("https://$server.call2all.co.il/ym/api//GetIVR2Dir?token=$token&path=$path"),true);
                
                אבייא תגובה 1 תגובה אחרונה
                3
                • אבייא מנותק
                  אבייא מנותק
                  אביי
                  השיב לאיש נחמד ב נערך לאחרונה על ידי
                  #8

                  @איש-נחמד צודק. לא אחזתי, זה קוד שכבר כתבתי למשהו אחר פשוט עשיתי קופי פייסט.
                  תיקנתי למעלה.

                  ניתן ליצור עימי קשר 8140hp+mt@gmail.com

                  א תגובה 1 תגובה אחרונה
                  3
                  • א מנותק
                    א מנותק
                    איש נחמד
                    השיב לאביי ב נערך לאחרונה על ידי
                    #9
                    פוסט זה נמחק!
                    תגובה 1 תגובה אחרונה
                    1

                    • התחברות

                    • אין לך חשבון עדיין? הרשמה

                    • התחברו או הירשמו כדי לחפש.
                    • פוסט ראשון
                      פוסט אחרון
                    0
                    • חוקי הפורום
                    • לא נפתר
                    • משתמשים
                    • חיפוש גוגל בפורום
                    • צור קשר