我有托管在CDN上的图片,我想通过他们的API将该图片上传到其他系统。通常我会使用curl并在文件前放一个@字符进行上传。由于这是一个URL,因为它希望文件是本地的,所以不起作用。我不想先将它复制到本地,因为文件可能是视频,而且可能很耗时。
似乎应该有一种方法可以用PHP卷曲来做到这一点。我很乐意使用套接字,但我不确定如何模拟curl的提交方式。
答案 0 :(得分:0)
<?php
$save_file_url = file_get_contents($your_files_CDN_file_URL);
$fp = fopen('test','w');
fwrite($fp,$save_file_url);
$save_file = realpath('test') ;
$url = "http://URL_TO_SEND_FILE/get_file.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
$post = array(
"file_is_this"=> "@".$save_file,
"app"=>'test'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
?>
您将收到get_file.php文件。