26 בפבר׳ 2023, 21:13

@הלי כתב בקוד להעתיק קובץ ע"י מספר בלבד : צריך עזרה:

2.את פירוש השורות ואיך זה מחזיר את הנתון שם לא הצלחתי להבין וממש אודה לך אם תוסיף קצת הסברים לשורות

<?php
 
// !!! הגדרות לשרת - להציג שגיאות בכל מצב ומכל סוג, נועד עבור מצב פיתוח בלבד
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
 
// API-כתובת הקישור של ה
$url = 'https://www.call2all.co.il/ym/api/FileAction';
// API-מערך של פרמטרים שמועברים ל
$query = [
    'token' => '0770000000:1234',
    'action' => 'copy',
    'what' => 'ivr2:3/1/***.wav',
    'target' => 'ivr2:3/1/0/***.wav',
];
 
// קריאה לפונקציה עם המשתנים: קישור, נתונים. התוצאה נשמרת לתוך המשתנה שבתחילת השורה
$result = call_API($url, $query); 
// הדפסת התוצאה בדרכים שונות
var_dump( $result['code'], $result['answer'], $result['error'] );
print_r( $result['info'] );
 
function call_API($url, $query = []){
    // אתחול הקריאה והכנסת ה'ידית' לתוך משתנה
    $ch = curl_init();
    
    // שרשור הפרמטרים מהמערך אל הקישור
    if( !empty( $query ) ) $url .= '?'.http_build_query($query);
   // הגדרת כתובת הקריאה - כתובת הקישור שהועברה לפונקציה
    curl_setopt($ch, CURLOPT_URL, $url);
   // הכרחת הקריאה למצב ג'ט, לא חובה
    curl_setopt($ch, CURLOPT_POST, false);
   // הגדרת הקידוד המתאים לעברית
    curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
    // API-הגדרה לשרת לשמור את התגובה שתתקבל מה
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   // הגדרה לשרת - כמה שניות להמשיך לנסות לקבל תגובה
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 42);
 
    // ביצוע הקריאה בפועל
    $server_output = curl_exec($ch);
    // קבלת נתוני הקריאה והכנסתם לתוך משתנה
    $info = curl_getinfo($ch); 
 
    // תנאי - אם היו שגיאות - שמור את הנתונים לתוך משתנה
    if (curl_errno($ch)) {
        $error_msg = curl_error($ch);
    }
    // קבלת קוד התגובה, כגון 200 וכדומה
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
 
    // סגירת החיבור
    curl_close ($ch);

   // הפונקציה מחזירה מערך עם כל הנתונים
    return( ['code' => $http_code, 'answer' => $server_output , 'error' => ( $error_msg ?? 'no errors' ), 'info' => $info] );
}