• שימושון php | שימושון למתקדמים - לתועלת הציבור

    נעוץ נעול הועבר
    2
    27 הצבעות
    2 פוסטים
    2k צפיות
    I
    מכיון ש @dudu u ו @011371 לא המשיך את שימושון PHP אכתוב אני שימושון למתקדמים פניית API $url=file_get_contents("https://ivrphone.online"); התשובה תיכנס למשתנה URL פנייה בCURL (העלת קובץ) $uploadUrl = "https://www.call2all.co.il/ym/api/UploadFile?token=$did2:$pass2&path=$path/$fileName&convertAudio=0&autoNumbering=false&tts=$ty"; // הכנת נתוני הקובץ $data = [ 'file' => curl_file_create($filePath, 'audio/mpeg', $fileName), ]; $ch = curl_init($uploadUrl); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch); curl_close($ch); שם הקובץ נמצא במשתנה $filePath בדוגמה שולח לימות המשיח מחיקת קובץ מהשרת unlink($filePath); שם הקובץ נמצא במשתנה $filePath הורדת התגובה כקובץ לשרת $downloadUrl = "https://www.call2all.co.il/ym/api/DownloadFile?token=$did:$pass&what=$what"; $ch = curl_init($downloadUrl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $response = curl_exec($ch); curl_close($ch); $fileName = basename($what); $filePath = "$path/$fileName"; file_put_contents($filePath, $response); שם הקובץ נמצא במשתנה $filePath הפיכת משתנה לגייסון $data = json_decode($response, true); שם המשתנה $response הגייסון יכנס למשתנה data פרוק ערך מגייסון $ini = $data['did']; הערך מפרק יכנס למשתנה ini הגיסון נמצא במשתנה data הערך לפרוק הוא did בהצלחה!
  • נושא זה נמחק!

    נעוץ
    0
    1 הצבעות
    0 פוסטים
    44 צפיות
    אין תגובות
  • שיתוף | קוד PHP לאימות זיהוי ספיישל

    11
    2 הצבעות
    11 פוסטים
    114 צפיות
    I
    @איל-משולש כתב: כתבתי קוד PHP שדרכו ניתן להוספת זיהוי למערכת ההגדרות לשלוחה שתוסיף את המספר שתקישו type=api api_link=לינק לקוד שלכם api_hangup_send=no api_phone_send=no title=אימות טלפון api_add_0=token=טוקן המערכת שלכם הגדרות לשלוחה שתוסיף את המספר שנכנס לשלוחה type=api api_link=לינק api_hangup_send=no title=אימות טלפון api_add_0=token=טוקן הקוד מצורף בספויילר Spoiler <?php header('Content-Type: text/plain; charset=utf-8'); // הגדרת נתיבים לקבצים באותה התיקייה $jsonFilePath = __DIR__ . '/requests.json'; $logFilePath = __DIR__ . '/system.log'; // פונקציה לייעודית לכתיבת לוגים function writeToLog($message, $logFilePath) { $timestamp = date('Y-m-d H:i:s'); $logMessage = "[{$timestamp}] {$message}\n" . str_repeat('-', 40) . "\n"; @file_put_contents($logFilePath, $logMessage, FILE_APPEND); } // 1. קבלת הפרמטרים מהקריאה $token = isset($_GET['token']) ? $_GET['token'] : ''; $code = isset($_GET['code']) ? $_GET['code'] : ''; // 2. קביעת מספר הטלפון (תמיכה ב-Phone וב-ApiPhone) $phone = ''; if (!empty($_GET['Phone'])) { $phone = $_GET['Phone']; } elseif (!empty($_GET['ApiPhone'])) { $phone = $_GET['ApiPhone']; } // ניקוי מספר הטלפון מתווים שאינם ספרות $phoneKey = preg_replace('/[^0-9]/', '', $phone); // תיעוד כניסת פרמטרים ללוג $incomingParams = json_encode($_GET, JSON_UNESCAPED_UNICODE); writeToLog("בקשה נכנסת לשרת.\nפרמטרים שהתקבלו: {$incomingParams}", $logFilePath); // בדיקת חובה: האם קיים טוקן? if (empty($token)) { $err = "שגיאה: פרמטר token חסר בבקשה."; echo $err; writeToLog($err, $logFilePath); exit; } // טעינת קובץ ה-JSON הקיים $jsonData = []; if (file_exists($jsonFilePath)) { $fileContent = file_get_contents($jsonFilePath); $jsonData = json_decode($fileContent, true) ?: []; } // ========================================== // ניתוב לפי שלבי הפעולה // ========================================== if (empty($code)) { // ========================================== // שלב א': שליחת קוד אימות לטלפון // ========================================== if (empty($phoneKey)) { echo "read=m-1125=Phone,,10,9,,Phone,,,,,,,,,"; writeToLog("שלב א': חסר מספר טלפון, הוחזרה הוראת הקשה למערכת.", $logFilePath); exit; } // בניית הפרמטרים לשליחה (כאן בתגובה החוזרת מהם זה מגיע כ-reqId) $apiParams = [ 'token' => $token, 'action' => 'send', 'callerId' => $phoneKey, 'validType' => 'CALL' ]; $url = "https://www.call2all.co.il/ym/api/ValidationCallerId?" . http_build_query($apiParams); writeToLog("שלב א': פנייה ל-API.\nכתובת: {$url}", $logFilePath); $response = @file_get_contents($url); if ($response === false) { $err = "שגיאה בשלב א': file_get_contents נכשל."; echo $err; writeToLog($err, $logFilePath); exit; } writeToLog("שלב א': תשובה גולמית מה-API:\n{$response}", $logFilePath); $data = json_decode($response, true); if (!$data) { $err = "שגיאה בשלב א': תגובה אינה JSON תקין."; echo $err; writeToLog($err, $logFilePath); exit; } if (isset($data['responseStatus']) && $data['responseStatus'] === 'OK' && isset($data['reqId'])) { // דריסת זיהוי ישן אם קיים if (isset($jsonData[$phoneKey])) { unset($jsonData[$phoneKey]); writeToLog("זיהוי ישן עבור מספר {$phoneKey} נמחק מהקובץ.", $logFilePath); } // שמירת ה-reqId $jsonData[$phoneKey] = $data['reqId']; file_put_contents($jsonFilePath, json_encode($jsonData, JSON_PRETTY_PRINT)); echo "read=f-A000=code,,6,4,12,Digits,yes,,,,,,,,"; writeToLog("שלב א' הסתיים בהצלחה. המזהה נשמר ב-JSON.", $logFilePath); } else { $msg = isset($data['message']) ? $data['message'] : 'לא צוינה סיבה'; echo "שגיאה מה-API בשלב השליחה: " . $msg; writeToLog("שגיאה מה-API בשלב השליחה: " . $msg, $logFilePath); } } else { // ========================================== // שלב ב': אימות הקוד שהוקש על ידי המשתמש // ========================================== if (empty($phoneKey)) { $err = "שגיאה בשלב ב': נשלח קוד אך מספר הטלפון חסר בקריאה."; echo $err; writeToLog($err, $logFilePath); exit; } if (!isset($jsonData[$phoneKey])) { $err = "שגיאה בשלב ב': לא נמצא מזהה בקשה שמור עבור הטלפון " . $phoneKey . " ב-JSON."; echo $err; writeToLog($err, $logFilePath); exit; } // שליפת המזהה השמור $savedId = $jsonData[$phoneKey]; // תיקון ה-URL: שימוש בפרמטר reId במקום reqId והסרת משתנים מיותרים $apiParams = [ 'token' => $token, 'action' => 'valid', 'reId' => $savedId, // התיקון המדויק שלך! 'code' => $code ]; $url = "https://www.call2all.co.il/ym/api/ValidationCallerId?" . http_build_query($apiParams); writeToLog("שלב ב': פנייה ל-API לצורך אימות.\nכתובת שנשלחה: {$url}", $logFilePath); $response = @file_get_contents($url); if ($response === false) { $err = "שגיאה בשלב ב': נכשלה ההתקשרות לשרת לצורך אימות."; echo $err; writeToLog($err, $logFilePath); exit; } writeToLog("שלב ב': תשובה גולמית מה-API:\n{$response}", $logFilePath); $data = json_decode($response, true); if (!$data) { $err = "שגיאה בשלב ב': תגובת השרת אינה JSON תקין."; echo $err; writeToLog($err, $logFilePath); exit; } if (isset($data['responseStatus']) && $data['responseStatus'] === 'OK') { // הסרת הרשומה לאחר הצלחה unset($jsonData[$phoneKey]); file_put_contents($jsonFilePath, json_encode($jsonData, JSON_PRETTY_PRINT)); echo "OK"; writeToLog("שלב ב' הסתיים בהצלחה מוחלטת! הקוד אומת, הרשומה נמחקה.", $logFilePath); } else { $msg = isset($data['message']) ? $data['message'] : 'הקוד שגוי או פג תוקף'; echo "אימות הקוד נכשל מול ימות המשיח. סיבה: " . $msg; writeToLog("אימות נכשל. סיבה: {$msg}. קוד: {$code}, מזהה שנשלח (reId): {$savedId}", $logFilePath); } } שימו לב בתקייה של הקוד יווצר קובץ ששומר את הפרטים שמתקבלים בין הקריאות בנוסף יווצר קובץ לוג שבו מתועד כל בקשה וכל לשיחה לימות המשיח ומה בדיוק היתה התשובה שימו לב! יש להעלות בשלוחה קובץ בשם A000 שבו אומרים כעת נשלחה שיחת אימות "אנא הקישו את הקוד שקיבלתם בשיחה" ניסיתי את הקוד, אולם אחרי הקשת מספר - זה אומר לי: "שגיאה, לא הוקשה בחירה". והוא חוזר על ההודעה הזו שוב ושוב, ללא לתת לי את האפשרות להקיש את הקוד שקיבל הנמען. בפועל הוא שולח קוד למספר שהקשתי ומקריא לו אותו בטלפון, אבל לי הוא לא נותן להקיש את המספר שהנמען קיבל, ולהשלים את הפעולה. הוא אומר לנמען להקיש את המספר הזה שהוא קיבל, באתר. אבל אם יש לי גישה לאתר, יכולתי גם לשלוח לו את ההודעה דרך האתר. כל הרעיון של השלוחה דרך הטלפון, שאוכל להשלים כזו פעולה דרך הטלפון, בזמן שאין לי גישה לאתר.
  • שגיאה בהקראה- במערכת אחת כן ובשניה לא

    2
    0 הצבעות
    2 פוסטים
    35 צפיות
    C
    @אA עכשיו אני אוחז גם שפתחתי מערכת השבוע והיא בשרת ymx, כמו שנכתב כאן, כנראה שרת חדש ועדיין באמצע הקמה
  • SMS חוזר אוטומטי קבוע, לSMS שנשלח למספר וירטואלי

    13
    0 הצבעות
    13 פוסטים
    43 צפיות
    א
    @אוהל-סמס תתקשר פשוט, תגיד להם שיש לך וירטואל פלוס, ויש לך שירות של וובהוק למייל של הסמסים הנכנסים, ושאתה רוצה להוסיף גם וובהוק לשרת, והאם זה תשלום נוסף או אותו מחיר. אם זה נוסף, כבר תעביר לוובהוק רק לשרת. עכ"פ אתה צריך שרת.... זה עולה בסביבות 5-10 דולר בחודש... זה לא קשור לימות. צריך להשכיר מחברה חיצונית
  • השמעת אודיו בליב

    2
    0 הצבעות
    2 פוסטים
    58 צפיות
    כ
    @טנטפון שיעורים ביוטיוב צריך להוריד עם כלים כמו yt-dlp ו ffmpeg ואח"כ לעלות למערכת לשידור חי צריכים שרת מתווך מקווה שזה יספיק לך
  • אתר להגדרות לימות

    1
    0 הצבעות
    1 פוסטים
    76 צפיות
    אין תגובות
  • קוד php ששולח פקודת API לא עובד טוב

    6
    0 הצבעות
    6 פוסטים
    137 צפיות
    א
    @אA כתב בקוד php ששולח פקודת API לא עובד טוב: בנוגע לקבצי השמע הרגילים הוא מעביר בשלוחות רק את קובץ 000 לא עיינתי לעומק בקוד, אבל מלמעלה נראה לי שזו הבעיה הזאת
  • פיתוח פאנל חדר ועידה

    16
    0 הצבעות
    16 פוסטים
    389 צפיות
    P
    @NA73438 לא, אני רוצה שיהיה אפשר להעלות קובץ למחשב והוא יושמע בלייב בוועידה. אין לי בעיה לשמור אותו בימות ורק אז שיפעל
  • אחסון קודים

    5
    0 הצבעות
    5 פוסטים
    94 צפיות
    B
    @לימוד-בתורת-מרן יותר נוח לעבוד אם PHP בשביל המערכת בכל אופן אני משלם מי שירצה שיהנה אם לא אני לא מפסיד
  • קוד לאלפון אם זיהוי קולי

    נפתר
    5
    0 הצבעות
    5 פוסטים
    173 צפיות
    B
    @anti-malware כן שאלתי אותו והכל תקין בסוף כתבתי קוד חדש והוא עובד לא יודע מה הבעיה בזה תודה
  • ניתוב שיחה לשלוחה

    נפתר
    5
    0 הצבעות
    5 פוסטים
    159 צפיות
    C
    @BEN-ZION להחזיר מהשרת go_to_folder=/999
  • העלאת קובץ גדול לא עובד

    1
    0 הצבעות
    1 פוסטים
    110 צפיות
    אין תגובות
  • נושא זה נמחק!

    לא נפתר
    1
    0 הצבעות
    1 פוסטים
    25 צפיות
    אין תגובות
  • אחסון PHP

    נפתר
    12
    0 הצבעות
    12 פוסטים
    305 צפיות
    B
    הייתה בעיה בקוד כנראה העתקתי אותו מחדש וזה עובד
  • העתקה של מערכת א למערכת ב

    9
    0 הצבעות
    9 פוסטים
    491 צפיות
    א
    @isi יש תוכנית חינמית מוגבלת ותוכנית מתקדמת יותר בתשלום, וכן, זה מעתיק את כל סוגי הקבצים במערכת כולל קבצי txt של Metadata של קבצי שמע
  • שיתוף | קוד למעבר למשאיר ההודעה בחינם

    10
    2 הצבעות
    10 פוסטים
    596 צפיות
    8
    @איל-משולש שלחתי לך
  • עזרה בקוד

    5
    0 הצבעות
    5 פוסטים
    263 צפיות
    ע
    @121244 תנסה לבקש קוד תקין ותראה מה יתן, מה יש להפסיד?
  • הדבקה בשרת

    11
    2 הצבעות
    11 פוסטים
    768 צפיות
    H
    @טנטפון אתה כותב קוד בוורד?????
  • נושא זה נמחק!

    2
    0 הצבעות
    2 פוסטים
    5 צפיות