如何使用 PHP 在 Twilio Whatsapp 中下载媒体?

How to download media in Twilio Whatsapp using PHP?

所以我正在使用 Twilio Whatsapp API 并且需要使用 PHP 下载媒体。 我可以获取重新路由到 aws 地址的 https://api.twilio..... 地址 - 因此使用以下代码下载将无法正常工作,因为它会尝试从 api.twilio URL 而不是它路由到的 aws 地址:

 $url = $URLFile;
    
    
    // Initialize the cURL session
    $ch = curl_init($url);
    
    // Initialize directory name where
    // file will be save
    // $dir = './';
    $dir = $dirname;
    
    // Use basename() function to return
    // the base name of file
    $file_name = basename($url);
    
    // Save file into file location
    $save_file_loc = $dir . $file_name;
    
    // Open file
    $fp = fopen($save_file_loc, 'wb');
    
    // It set an option for a cURL transfer
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    
    // Perform a cURL session
    curl_exec($ch);
    
    // Closes a cURL session and frees all resources
    curl_close($ch);
    
    // Close file
    fclose($fp);

您需要使用 CURLOPT_FOLLOWLOCATION 通过 cURL 跟随重定向。

你可以这样做:

 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

您的代码将遵循重定向。