Я использую API загрузки Youtube, когда нажимаю кнопку загрузки, видео загружается, но имя файла показывает «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>';
На момент написания браузера поддержка есть:
Нет необходимости указывать расширение файла.
Более подробную информацию можно найти в Интернете, включая поддержку браузера, например, это W3 Schools Article
Обновить: Это не будет работать в разных источниках, файл должен быть размещен в том же домене, так как, к сожалению, это не решение этой конкретной проблемы.
Других решений пока нет …