如何使用 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);
您的代码将遵循重定向。
所以我正在使用 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);
您的代码将遵循重定向。