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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. השמעת audio בphp כשהמקור הוא קובץ להורדה (ימות המשיח) וניתן לראות בקונסול את הבקשה

השמעת audio בphp כשהמקור הוא קובץ להורדה (ימות המשיח) וניתן לראות בקונסול את הבקשה

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

    ברצוני להשמיע למשתמש באתר שלי כמה הודעות מימות המשיח
    כרגע אני משתמש בקוד הבא

    echo "<audio id='record' style='display:displayRecord;' controls src='https://www.call2all.co.il/ym/api/DownloadFile?token=0XXXXXX:XXXXX&path=".$path."'type='audio/mp3'></audio>";
    

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

    public function actionPlayFile($path)
        {
            $url = 'https://call2all.co.il/ym/api/DownloadFile?&token=0771234567:1234&path=ivr2:' . $path;
            $path_parts = pathinfo($url);
     
            $ext = $path_parts['extension'];
            $filename = $path_parts['filename'];
     
            header("Content-type: application/$ext");
            header("Content-Disposition: attachment; filename=$filename.$ext");
     
            $stream = fopen('php://output', 'w');
     
            $ch = curl_init($url);
            curl_setopt($ch, CURLOPT_READFUNCTION, function($ch, $fd, $length) use ($stream) {
                return fwrite($stream, fread($fd, $length));
            });
     
            curl_exec($ch);
            curl_close($ch);
            exit();
        }
    
    צדיק תמיםצ ל 2 תגובות תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי dovid
      #2

      קודם כל תסיר את שני השורות האלה:

          header("Content-type: application/$ext");
          header("Content-Disposition: attachment; filename=$filename.$ext");
      

      שנית, בקוד העליון תשנה לזה:

      echo "<audio id='record' controls src='/ivr-pr.php?path=".$path."' type='audio/mp3'></audio>";
      

      שלישית, דאג ליצור קובץ בשם ivr-pr.php ושיהיה בו קוד שקורא לפונקציה של actionPlayFile עם הפרמטר path.

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

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

        @טוב-להודות אגב, זה לא CSS תקין:

        display:displayRecord

        Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
        טיפים

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

          @dovid
          שני שאלות
          א' האם יש אופציה שגם את נתיב עצמו לא יראו
          ב' האם במקום לפנות לקובץ ivr-pr.php ניתן לפנות לאותו הדף עצמו

          תגובה 1 תגובה אחרונה
          0
          • dovidD dovid פיצל נושא זה ב

          בא תתחבר לדף היומי!
          • התחברות

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

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