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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
18 פוסטים 4 כותבים 524 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
                          • דף הבית
                          • קטגוריות
                          • פוסטים אחרונים
                          • משתמשים
                          • חיפוש
                          • חוקי הפורום