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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. קבצים בעברית ב API של zamzar

קבצים בעברית ב API של zamzar

מתוזמן נעוץ נעול הועבר תכנות
18 פוסטים 4 כותבים 524 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • OdedDvirO מנותק
    OdedDvirO מנותק
    OdedDvir
    השיב לASS ב נערך לאחרונה על ידי
    #6

    @ass אתה שולח בקשה ל-API על ידי PHP, Node או משהו אחר?

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

      @odeddvir
      ב PHP.

      $endpoint = "https://sandbox.zamzar.com/v1/jobs";
      $apiKey = "****";
      
      $sourceFilePath = "C:\wamp64\www\A/שבת.mp3";
      $targetFormat = "mp4";
      $sourceFile = "mp3";
      // Since PHP 5.5+ CURLFile is the preferred method for uploading files
      if(function_exists('curl_file_create')) {
        $sourceFile = curl_file_create($sourceFilePath);
      } else {
        $sourceFile = '@' . realpath($sourceFilePath);
      }
      
      $postData = array(
        "source_file" => $sourceFile,
        "target_format" => $targetFormat
      );
      
      $ch = curl_init(); // Init curl
      curl_setopt($ch, CURLOPT_URL, $endpoint); // API endpoint
      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
      curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
      //curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); // Enable the @ prefix for uploading files
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Return response as a string
      curl_setopt($ch, CURLOPT_USERPWD, $apiKey . ":"); // Set the API key as the basic auth username
      $body = curl_exec($ch);
      curl_close($ch);
      
      $response = json_decode($body, true);
      
      echo "Response:\n---------\n";
      //print_r($response);
      
      
      OdedDvirO תגובה 1 תגובה אחרונה
      1
      • OdedDvirO מנותק
        OdedDvirO מנותק
        OdedDvir
        השיב לASS ב נערך לאחרונה על ידי
        #8

        @ass נסה להחליף את שורה 15 ב:

          "source_file" => @iconv("UTF-8","Windows-1252//IGNORE",$sourceFile);  
        
        ASSA תגובה 1 תגובה אחרונה
        2
        • ASSA מנותק
          ASSA מנותק
          ASS
          השיב לOdedDvir ב נערך לאחרונה על ידי ASS
          #9

          @odeddvir
          לא עובד, גם אם כל הנתיב באנגלית.
          כלומר, שכתוב ככה לא עובד

          "source_file" => @iconv("UTF-8","Windows-1252//IGNORE",$sourceFile),
          

          אבל ככה עובד רק אנגלית:

          "source_file" =>$sourceFile,
          
          OdedDvirO תגובה 1 תגובה אחרונה
          0
          • OdedDvirO מנותק
            OdedDvirO מנותק
            OdedDvir
            השיב לASS ב נערך לאחרונה על ידי OdedDvir
            #10

            @ass תנסה כך:

             "source_file" => iconv('Windows-1255', 'UTF-8', $sourceFile),
            
            ASSA 2 תגובות תגובה אחרונה
            2
            • ASSA מנותק
              ASSA מנותק
              ASS
              השיב לOdedDvir ב נערך לאחרונה על ידי
              #11

              @odeddvir אמר בקבצים בעברית ב API של zamzar:

              "source_file" => iconv('Windows-1255', 'UTF-8', $sourceFile),

              גם לא עובד 😞

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

                אם זה רק בשביל ההמרה, לא צריך API, אפשר עם ffmpeg
                https://stackoverflow.com/questions/25381086/convert-mp3-video-with-static-image-ffmpeg-libav-bash

                תגובה 1 תגובה אחרונה
                2
                • ASSA מנותק
                  ASSA מנותק
                  ASS
                  השיב לOdedDvir ב נערך לאחרונה על ידי
                  #13

                  @odeddvir
                  שלום.
                  למרות שעבר זמן, חזרתי לקוד שלי שוב.
                  הבנתי שהוא פשוט לא מצליח לקרוא את שם הקובץ בעברית.
                  כלומר () iconv לא עוזר בגלל שצריך 3 פרמטרים שהם מחרוזת, אבל בגלל שהפרמטר האחרון זה הקובץ והוא לא מצליח לקבל את הקובץ, אז מבחינתו זה NULL ולא מחרוזת, ולכן מתקבלת השגיאה:

                  iconv() expects parameter 3 to be string, object given
                  

                  כך ראיתי פה.

                  השאלה אם יש עוד סיבה שהוא לא מצליח לקרוא.

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

                    @ass האם כששם הקובץ הוא באנגלית הקוד רץ בצורה תקינה?

                    ASSA 2 תגובות תגובה אחרונה
                    0
                    • ASSA מנותק
                      ASSA מנותק
                      ASS
                      השיב לOdedDvir ב נערך לאחרונה על ידי ASS
                      #15

                      @odeddvir
                      כן, זה הפלא.
                      ניסתי לבדוק אם נתיב קיים עם:

                      file_exists();
                      

                      ומחזיר 1 (קיים).
                      התמיכה שלהם אומרים שאין להם בעיה בקריאת עברית.

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

                        @odeddvir
                        גיליתי שמשום מה על שרת אחר שלי זה כן עובד.
                        השרת שלא עובד רץ עם Wampserver
                        והשרת שכן עובד רץ עם: nginx ו php שמותקן ידנית.

                        זה קשור?

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

                          @ass האם הPHP הוא אותו גרסה בשניהם?
                          נ.ב. אחד ווינדוס ואחד לינוקס לא?

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

                            @a0533057932
                            שניהם ווינדוס. (אחד VPS ואחד מקומי על המחשב האישי שלי)
                            הגרסאות שניהם מעל 5.5
                            זה הקוד המלא:

                            //המרה להעלאה
                            $endpoint = "https://sandbox.zamzar.com/v1/jobs";
                            $apiKey = "*****";
                            $n = "א";
                            $sourceFilePath = "C:/$n.mp3";
                            $targetFormat = "mp4";
                                
                            // Since PHP 5.5+ CURLFile is the preferred method for uploading files
                            if(function_exists('curl_file_create')) {
                              $sourceFile = curl_file_create($sourceFilePath);
                            } else {
                              $sourceFile = '@' . realpath($sourceFilePath);
                            }
                            
                            $postData = array(
                              "source_file" => $sourceFile,
                              "target_format" => $targetFormat
                            );
                            $ch = curl_init(); // Init curl
                            curl_setopt($ch, CURLOPT_URL, $endpoint); // API endpoint
                            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
                            curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
                            //curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); // Enable the @ prefix for uploading files
                            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Return response as a string
                            curl_setopt($ch, CURLOPT_USERPWD, $apiKey . ":"); // Set the API key as the basic auth username
                            $body = curl_exec($ch);
                            curl_close($ch);
                            $nesponse = json_decode($body, true);
                            echo "Response:\n---------\n";
                            print_r($nesponse);
                            

                            אני מחפש דרך להבין באיזה חלק זה שונה ממש שיש לי בשרת?
                            בתמיכה של החברה הציעו להדפיס באגים משיחת ה CURL.
                            לא כ"כ הבנתי מפה איך עושים את זה:

                            תגובה 1 תגובה אחרונה
                            0
                            • dovidD dovid העביר נושא זה מ-תכנות ב-

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

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

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