Я создаю веб-сайт портфолио для своей музыки и хочу, чтобы пользователи могли воспроизводить мои песни без возможности просмотра источника/загрузки mp3-файлов.
Я использую PHP для этого проекта и загружаю файлы через заголовки HTTP.
<?php
$mp3 ='72vox.mp3';
if (file_exists($mp3)) {
header('Content-Type: audio/mpeg');
header('Content-Disposition: inline; filename = "mp3_file.mp3"');
header('Content-length: '. filesize($mp3));
header('Cache-Control: no-cache');
header('Content-Transfer-Encoding: chunked');
readfile($mp3);
exit;
}
?>
Когда страница загружается, мой mp3 играет. Однако я не могу понять, как отобразить какой-либо HTML на странице (и, что более важно, как разместить элементы управления звуком в div).
Спасибо за любую помощь заранее
I'm creating a portfolio website for my music and want to allow users to play my songs without them being able to see the source/download the mp3 files.
Это невозможно.
В этом случае URL-адрес вашего PHP-скрипта фактически является URL-адресом аудиофайла.
When the page loads, my mp3 plays. However, I can't seem to figure out how to display any HTML on the page (and more importantly, how to place the audio controls in a div).
Это не имеет ничего общего с тем, как вы обслуживаете файл. Вам нужно создать страницу с тегом <audio>
или с соответствующим JavaScript. Когда вы переходите по этому URL-адресу, это не «страница» с вашего сервера, это просто обработка вашего MP3-файла браузером по умолчанию. Другие браузеры просто загрузят его или откроют в пользовательском аудиоплеере по умолчанию.
<audio src = "path-to-your-audio-file.mp3" controls></audio>
"However, I can't seem to figure out how to display any HTML on the page (and more importantly, how to place the audio controls in a div)."
Как пример...
Сохраните свой PHP-код в файле с именем getFile.php
.
Теперь создайте HTML-страницу с кодом, как показано ниже, и используйте файл PHP в качестве источника в <audio tag>
.
Вы можете расширить HTML с помощью собственного кода «другие вещи».
<!DOCTYPE html>
<html>
<body>
<div id = "div_myAudio">
<audio id = "myAudio" controls>
<source crossorigin = "anonymous" src = "getFile.php" type = "audio/mpeg">
</audio>
</div>
<div id = "div_myOtherStuff">
My "Other Stuff" (HTML code) goes here or anywhere inside this document "body" tag...
</div>
</body>
</html>
PS: Другой способ — просто echo
html-теги из вашего PHP-файла. Браузер отобразит код. Я добавлю эти детали позже, если вам интересно.
Спасибо, что ответили мне - очень ценно.
спасибо за обновление Брэд - очень признателен. Можете ли вы предоставить полезный пример кода или указать мне, где я могу найти дополнительную полезную информацию по этому вопросу?