当我单击下载按钮视频下载时,我正在使用youtube下载API,但文件名显示" videoplayback.mp4"我的代码:
<?php
$url="http://hddir.com/ajax/api.php?type=downlink&v=Is3S-6hHQLk";
$c=curl_init();
curl_setopt($c,CURLOPT_RETURNTRANSFER,1);
curl_setopt($c,CURLOPT_URL,$url);
$contents=curl_exec($c);
curl_close($c);
$someObject = json_decode($contents);
foreach($someObject as $obj){
$url=$obj->url;
$format=$obj->format;
echo '<a href="'.$url.'" download>video '.$format.'</a></br>';
}
?>
上述代码的结果
作为快速修复,HTML5提供了您可能在锚标签中使用的download
属性,这使您可以指定下载的所需文件名。这依赖于最终用户使用支持此标签的浏览器。
echo '<a href="'.$url.'" download="desiredfilename">video '.$format.'</a></br>';
在编写浏览器支持时是:
- chome:14.0
- 边缘:13.0
- Firefox:20.0
- Safari:10.1
- 歌剧:15.0
无需指定文件扩展名。
可以在线找到更多信息,包括浏览器支持,例如W3 Schools文章
update :这将无法使用交叉孔,文件必须托管在同一域上,因此,这不是解决此特定问题的解决方案。