תחומים
    • הרשמה
    • התחברות
    • חיפוש
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    חוקי הפורום

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

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

      שלום.
      נתקלתי בבעיה בהעלאת והורדת קבצים להמרה ב API של zamzar.
      משום מה רק שמות קבצים ותיקיות באנגלית מומרים כמו שצריך.
      אני חייב דווקא שמות של קבצים ותקיות בעברית.

      יש פתרון לבעיה הזו?

      תודה רבה....

      OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • OdedDvir
        OdedDvir @ASS נערך לאחרונה על ידי

        @ass איזה סוג קבצים אתה מבקש להמיר?

        ASS תגובה 1 תגובה אחרונה תגובה ציטוט 1
        • ASS
          ASS @OdedDvir נערך לאחרונה על ידי

          @odeddvir
          מ MP3 ל MP4

          OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • OdedDvir
            OdedDvir @ASS נערך לאחרונה על ידי

            @ass באיזה סוג לקוח אתה משתמש?

            ASS תגובה 1 תגובה אחרונה תגובה ציטוט 2
            • ASS
              ASS @OdedDvir נערך לאחרונה על ידי

              @odeddvir
              מה הכוונה?
              לזה? https://developers.zamzar.com/user

              OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • OdedDvir
                OdedDvir @ASS נערך לאחרונה על ידי

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

                ASS תגובה 1 תגובה אחרונה תגובה ציטוט 2
                • ASS
                  ASS @OdedDvir נערך לאחרונה על ידי

                  @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);
                  
                  
                  OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 1
                  • OdedDvir
                    OdedDvir @ASS נערך לאחרונה על ידי

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

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

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

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

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

                      "source_file" =>$sourceFile,
                      
                      OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • OdedDvir
                        OdedDvir @ASS נערך לאחרונה על ידי OdedDvir

                        @ass תנסה כך:

                         "source_file" => iconv('Windows-1255', 'UTF-8', $sourceFile),
                        
                        ASS 2 תגובות תגובה אחרונה תגובה ציטוט 2
                        • ASS
                          ASS @OdedDvir נערך לאחרונה על ידי

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

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

                          גם לא עובד 😞

                          תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • חגי
                            חגי נערך לאחרונה על ידי

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

                            תגובה 1 תגובה אחרונה תגובה ציטוט 2
                            • ASS
                              ASS @OdedDvir נערך לאחרונה על ידי

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

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

                              כך ראיתי פה.

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

                              OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
                              • OdedDvir
                                OdedDvir @ASS נערך לאחרונה על ידי OdedDvir

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

                                ASS 2 תגובות תגובה אחרונה תגובה ציטוט 0
                                • ASS
                                  ASS @OdedDvir נערך לאחרונה על ידי ASS

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

                                  file_exists();
                                  

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

                                  תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                  • ASS
                                    ASS @OdedDvir נערך לאחרונה על ידי

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

                                    זה קשור?

                                    A0533057932 תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                    • A0533057932
                                      A0533057932 @ASS נערך לאחרונה על ידי

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

                                      ASS תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                      • ASS
                                        ASS @A0533057932 נערך לאחרונה על ידי ASS

                                        @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
                                        • 1 / 1
                                        • פוסט ראשון
                                          פוסט אחרון
                                        בא תתחבר לדף היומי!