@עידו לא עברתי על הכל אבל כבר ראיתי כמה קשקושים
הודעות שפורסמו על ידי 121244
-
עזרה בקודפורסם בפורום PHP
יש לי כאן קוד שאמור לעלות קובץ php גדול ומשום מה זה מעלה רק חלק קטן ממנו (באמצע) ובלי שום תגובה מישהו יכול לעזור?
<?php // הגדרות קבועות (חובה לעדכן) $API_BASE_URL = "https://www.call2all.co.il/ym/api/"; $TOKEN = ""; // טוקן הגישה $REMOTE_FILE_URL = "-כאן צריך להשים את הכתובת (בכוונה שיניתי( "; // כתובת הקובץ המקורית $TARGET_PATH = "ivr2:/200/uploaded_file.mp3"; // נתיב היעד (חובה ivr2:) [3, 4] $MAX_FILE_SIZE_MB = 150; // הגבלה לגודל הקובץ $CHUNK_SIZE = 5 * 1024 * 1024; // 5MB למקטע (קטן מ-50MB המגבלה המקסימלית) [3, 4] // הגדרות קובץ מקומיות $QQUUID = uniqid('', true); // מזהה ID רנדומלי שיש ליצור לפני הבקשה הראשונה [5, 7] $TEMP_DIR = 'temp_uploads/'; $TEMP_FILE_PATH = $TEMP_DIR . basename($TARGET_PATH); $MAX_FILE_SIZE_BYTES = $MAX_FILE_SIZE_MB * 1024 * 1024; // פונקציית שליחת בקשת cURL (מותאם לשיטת POST multipart/form-data) function send_curl_request($url, $fields, $is_done_request = false) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); if (!$is_done_request) { // שלב א': העלאת מקטע curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); } // שלב ב': בקשת חיבור (UploadFile?done) היא לרוב GET או POST עם פרמטרים ב-URL, // כאן נשתמש ב-GET אם הפרמטרים כבר ב-URL $response = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($http_code != 200) { throw new Exception("HTTP Error {$http_code} | Response: " . $response); } return json_decode($response, true); } // 1. הורדת קובץ חיצונית ושמירה מקומית + בדיקת גודל if (!is_dir($TEMP_DIR)) { mkdir($TEMP_DIR, 0777, true); } if (!@file_put_contents($TEMP_FILE_PATH, @file_get_contents($REMOTE_FILE_URL))) { die("שגיאה בהורדה או שמירה מקומית של הקובץ."); } $file_size = filesize($TEMP_FILE_PATH); $file_name = basename($TEMP_FILE_PATH); if ($file_size > $MAX_FILE_SIZE_BYTES) { unlink($TEMP_FILE_PATH); die("הקובץ גדול מהמגבלה המוגדרת."); } // חישוב מקטעים $total_parts = ceil($file_size / $CHUNK_SIZE); $qq_total_parts_api = $total_parts + 1; // כולל בקשת החיבור (done) [5-8] // -------------------------------------------------- // שלב א': העלאת מקטעי הקובץ (Chunks) // -------------------------------------------------- $handle = fopen($TEMP_FILE_PATH, "r"); $chunk_index = 0; $byte_offset = 0; $upload_success = true; if ($handle) { while (!feof($handle)) { $chunk_data = fread($handle, $CHUNK_SIZE); $current_chunk_size = strlen($chunk_data); if ($current_chunk_size == 0) { break; } // יצירת קובץ זמני עבור המקטע הנוכחי (דרוש עבור cURL) $temp_chunk_file = $TEMP_DIR . "chunk_{$chunk_index}"; file_put_contents($temp_chunk_file, $chunk_data); // פרמטרים הנדרשים לבקשת העלאת מקטע [5, 7] $post_fields = [ 'token' => $TOKEN, 'path' => $TARGET_PATH, 'qquuid' => $QQUUID, 'qqpartindex' => $chunk_index, 'qqpartbyteoffset' => $byte_offset, 'qqchunksize' => $current_chunk_size, 'qqtotalparts' => $qq_total_parts_api, 'qqtotalfilesize' => $file_size, 'qqfilename' => $file_name, 'qqfile' => new CURLFile($temp_chunk_file, mime_content_type($temp_chunk_file), $file_name) // העלאת המקטע הנוכחי // ניתן להוסיף convertAudio, autoNumbering ו-tts כאן אם צריך [3-5, 7] ]; try { $response = send_curl_request($API_BASE_URL . 'UploadFile', $post_fields); if ($response['responseStatus'] !== 'OK') { $upload_success = false; break; } } catch (Exception $e) { $upload_success = false; break; } // מחיקת קובץ המקטע הזמני unlink($temp_chunk_file); $chunk_index++; $byte_offset += $current_chunk_size; } fclose($handle); } else { die("שגיאה: לא ניתן לקרוא את הקובץ המקומי."); } // -------------------------------------------------- // שלב ב': סיום העלאה ובקשת חיבור לקבצים // -------------------------------------------------- if ($upload_success) { // פרמטרים הנדרשים לבקשת החיבור [6, 8] $done_params = [ 'token' => $TOKEN, 'path' => $TARGET_PATH, 'qquuid' => $QQUUID, 'qqfilename' => $file_name, 'qqtotalfilesize' => $file_size, 'qqtotalparts' => $qq_total_parts_api, // אם הועברו convertAudio, autoNumbering, tts יש לצרף גם לכאן [6, 8] ]; $query_string = http_build_query($done_params); $done_url = $API_BASE_URL . "UploadFile?done&" . $query_string; try { // שליחת בקשה לחיבור הקטעים (UploadFile?done) $response_data = send_curl_request($done_url, null, true); if (isset($response_data['responseStatus']) && $response_data['responseStatus'] === 'OK') { // פעולת ה-API הושלמה בהצלחה // תוצאה: $response_data מכילה path ו-size [9, 10] } else { // שגיאה בחיבור הקבצים } } catch (Exception $e) { // שגיאה בבקשת החיבור } } else { // העלאת המקטעים נכשלה } // ניקוי הקובץ הזמני בשרת המקומי שלך if (file_exists($TEMP_FILE_PATH)) { unlink($TEMP_FILE_PATH); } ?> -
RE: תיעוד API לטובת ניהול וביצוע אימות דו-שלבי - לטובת מפתחי ממשקים חיצונייםפורסם בחדש במערכת
@שמואל אשמח לדעת אם לגבי הפקודה של הורדת קובץ זה משפיע וא"כ מה אפשר לעשות?
-
RE: 📞 מאגר קווי תוכן ומידע - בממשק מסודרפורסם בעזרה הדדית למשתמשים מתקדמים
@y6714453 למה האתר משמאל לימין?
-
RE: אבטחה - באימות דו שלבי / דעתכם... 🪪💂🏻פורסם בעזרה הדדית למשתמשים מתקדמים
אני מבין שחסל על המערכות הגדרות מתקדמות
-
RE: העתקת שלוחה ממערכת אחת למערכת שניהפורסם בעזרה הדדית למשתמשים מתקדמים
@יהודה-צ-כ כתב בהעתקת שלוחה ממערכת אחת למערכת שניה:
וגם @121244 עשו פעם כזה מודול.
אני עשתי העתקת קבצים לא שלוחות
-
RE: מספר מודולים למכירהפורסם בפורום מפתחים API
@clickphone כתב במספר מודולים למכירה:
מה אתה מתכוון המודול שליחת מייל?
הכל
@המשועמם כתב במספר מודולים למכירה:
יש מודולים שקנו אותם והם פתוחים לציבור?
לא שזכור לי
-
RE: מספר מודולים למכירהפורסם בפורום מפתחים API
אני מקפיץ את הנושא כי זה עדיין רלוונטי אם יש מישהו שרוצה שיגיד
-
RE: מספר מודולים למכירהפורסם בפורום מפתחים API
@שולי כרגע לא אבל אם תסביר לי בדיוק מה אתה רוצה אסביר לך אם זה מתאים
-
RE: מספר מודולים למכירהפורסם בפורום מפתחים API
@121244
עוד כמה מודולים-
עריכת קובץ ההגדרות (עם אופצייה להוספת הגדרות יצירת קובץ מחדש מחיקת שורות החלפת טקסטים ועוד)
-
עריכת קבצי tts
-
יצירת מוזיקה בהמתנה
-
-
עזר פון - סגירת כל המודוליםפורסם בטיפים עצות והדגמות מהמשתמשים
מדובר על כל המודולים שפורסמו תחת הנושא הזה
הכל יסגר בימים הקרובים המעונין לרכוש את הקודים או חלקם יראה כאן -
מספר מודולים למכירהפורסם בפורום מפתחים API
שלום רב! אני מעונין למכור לכל המרבה במחיר את המודולים שיצרתי עד עכשיו ומה שהיה עד עכשיו יפסיק לעבוד (או שלא הכל לפי הקונה)
בין המודולים-
הקלדת טקסט עם מקלדת מתקדמת מאוד
-
שליחת מייל (גם עם אותה מקלדת)
-
העתקת קבצי שמע בין מערכות
-
שערי מט"ח
-
שמיעת הצנתוק האחרון
ועוד כמה (אחסון הקוד בשרת שלי או שלכם לבחירתכם) המעונין יכתוב פה או ישלח מייל לכתובת ezerphone0@gmail.com
-
-
RE: שליחת קובץ ממערכת למערכתפורסם בעזרה הדדית למשתמשים מתקדמים
@795702821 הגבתי לך במייל אם לא תענה בשעות הקרובות אני לא יודע אם אוכל לעזור משום ומחר אני חוזר לישיבה
-
RE: השמעת אודיו בלייב משרת מרוחקפורסם בפורום PHP
@יוסף-ח זה לכאורה רדיו דתי ורק הגדרתי את זה המערכת הפסיקה לעבוד